Day07

总结

字符串的内置方法

1.strip()
清除字符串首尾的字符,默认清楚空格,可以自定义方向
'''
	s1 = '@@qwer@@@@@'
	print(s1.strip('@'))  # qwer
	print(s1.lstrip('@'))  # qwer@@@@@
	print(s1.rstrip('@'))  # @@qwer
'''
2.大小写相关操作
'''
	s1 = 'AbcDefG'
	print(s1.lower())  # abcdefg(转换为小写)
	print(s1.upper())  # ABCDEFG(转换为大写)
	print(s1.islower())  # 判断是否为纯小写    Fasle
	print(s1.isupper())  # 判断是否为纯大写    False
	
	验证码的应用:
		要想验证码不区分大小写,只需将输入的验证码统一大小写即可
'''
3.判断字符串首尾是否为指定字符
'''
	s1 = 'a b c d e f g'
	print(s1.startswith('a'))  #True
	print(s1.endswith('f'))  # False
	
	值得注意的是
	print(s1.endswith('f g'))  # True
'''
4.互动,格式化输出
(1)占位符

(2)format的使用
	#1 使用{}占位
    	print('This night is {}, {} let it go.'.format('sparkling', 'don`t'))
        # This night is sparkling, don`t let it go.(出自taylor swift《enchanted》)
    
    #2 索引取值
    	print('This night is {0}, {1} let it go. {1} be shy.'.format('sparkling', 'don`t'))
        # This night is sparkling, don`t let it go. don`t be shy.
    
    #3 根据key取值
    	print('This night is {first}, {sec} let it go.'.format(first='sparkling', sec='don`t'))
        # 
    
    #4 用已经定义的变量(推荐)
    	first = 'sparkling' 
        sec = 'don`t'
        print(f'This night is {first}, {sec} let it go.')
        
        f不要漏写了

:

5.拼接字符串
	s1 = '今天晚上吃什么'
    s2 = '明天早上吃什么'
    
    print(s1 + s2)  # 今天晚上吃什么明天早上吃什么;这种方式会创造多余的内存空间,效率较低,不推荐
    print(s1 * 2)  # 今天晚上吃什么今天晚上吃什么
    只能加和乘,不能减和除
    # join
    print('*'.join(s1))  # 今*天*晚*上*吃*什*么
    print('*'.join(['a', 'b', 'c']))  # a*b*c
    对象中的元素必须为字符串
6.替换字符串中的字符
	s1 = 'my name is Amy,yes,Amy'
    print(s1.replace('Amy','Faye'))  # my name is Faye,yes,Faye
	默认替换所有,可以调整
    eg:
        s1 = 'my name is Amy,yes,Amy'
    	print(s1.replace('Amy','Faye',1))  # my name is Faye,yes,Amy
7.判断字符串是否为纯数字
	s1 = '12345'
    print(s1.isdigit())  # True
    字符串为'12.345'也不行,会返回False,因为'.'不是数字

:

8.查找字符对应的索引值
	s1 = '12345'
    print(s1.find('3'))  # 2 从左往右,找到第一个就停
    print(s1.find('3', 1, 3))  # 意思是查找索引值1,2中的'3',找不到返回-1  
    print(s1.index('4'))  # 3
9.填充文本
	id = 'center'
    print(id.center(20,'-'))  # -------center-------
    print(id.ljust(20,'-'))  # center--------------
    print(id.rjust(20,'-'))  # --------------center
    print(id.zfill(20))  # 00000000000000center  
    
10.取消斜杠与特定字母组合的含义
	# 在字符串前加一个r
11.captalize,swapcase,title
	# captalize:首字母大写
    # swapcase:大小写反转
    # title:每个单词首字母都大写

列表内置方法

# 1.类型转换(支持转换for循环的数据类型)
# 2.索引取值
	list = ['adele','rihanna','faye wong']
    print(name_list[0])  # adele
  2.切片
	print(list[0:2])  # ['adele', 'rihanna']
    print(list[0:2:-1])  # ['faye wong', 'rihanna']
  3.间隔取值
	print(list[0:3:2])  # ['adele', 'faye wong']
  4.统计数目
	print(len(list))  # 3
  5.成员运算,判断元素而非元素中的字符
	print('a' in list)  # False
    print('adele' in list)  # True
  6.添加元素
	(1)尾部添加单个元素
    	list.append('billy')
        print(list)  # ['adele', 'rihanna', 'faye wong', 'billy']
    (2)指定位置插入元素
    	list.insert(2, 'jason')  # ['adele', 'rihanna', 'jason', 'faye wong']
    (3)合并list
    	list.extend([1, 2, 3, 4])  # ['adele', 'rihanna', 'faye wong', 1, 2, 3, 4]

:

7.删除元素
	(1)del
    	del list[1]  # ['adele', 'faye wong']
    (2)指定删除
    	 print(list.remove('adele'))
        # None(删除成功)
		['rihanna', 'faye wong']	
    (3)延迟删除(可以指定索引值)
    	print(list.pop())  、
        # faye wong
		['adele', 'rihanna']	
    
8.修改列表元素
	list[0] = '1'  # ['1', 'rihanna', 'faye wong']
9.排序
	s1 = [1, 312, 32, 31, 311]
    s1.sort()  # [1, 31, 32, 311, 312]
    默认升序
    可以通过ss.sort(reserse=True)修改为降序
10.颠倒
	s1.reverse()  # [311, 31, 32, 312, 1]

11.比较运算
	s1 = [1, 312, 32, 31, 311]
    s2 = [21, 2123, 121, 2]
	print(s1 > s2)  # False
12.统计列表中某元素出现次数
	s1 = [1, 2, 3, 2, 1]
     print(s1.count(1))  # 2

可变与不可变类型

对象的内容可变,而不可变对象是指对象内容不可变;
可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。
不可变:int、字符串、float、元组
可变:字典、列表

队列与堆栈

队列
	先进先出
    # 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。  ***百度百科的定义
堆栈
	先进后出
    # 在计算机领域,堆栈是一个不容忽视的概念,堆栈是一种数据结构,而且是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。  ***百度百科的定义

作业

# 编写一个用户登录程序
# 	要求最多尝试失误三次 过期自动提示并可重置尝试次数
#     用户登录成功之后进入内部循环 用户输入什么就打印什么 并给用户提供一个结束程序的特殊指令
#     获取用户输入的用户名和密码可以处理首尾空格
#     用户的用户名和密码使用变量存储 通过程序获取用户名和密码比对
#     	data = 'jason|123'
# # 1.将登录功能编写成多用户模式
# 2.利用列表编写一个用户注册、登录程序
# 	提示:循环
#     要求:成功一次即可 无需考虑用户冲突等情况
# 3.不使用count统计列表中指定元素出现的次数
# 总感觉有东西没写好,又找不出来。。。等我在学一段时间再来看看吧
data = ['jason|123', 'john|321', 'jerry|123']
count = 0
is_login = input('l:“登录”/r:"注册",请选择')
flag = True

while count < 3 and flag:
    while count < 3:
        if is_login == 'l':
            username = input('用户名>>>:').strip()
            password = input('密码>>>:').strip()
            tem_user = username + '|' + password
            if tem_user in data:
                print('登陆成功')
                while True:
                    cmd = input('登陆成功,请输入指令,按q退出>>>:')
                    print(cmd)
                    if cmd == 'q':
                        flag = False
                        break
                break
            else:
                print('账号或密码错误')
                count += 1
        elif is_login == 'r':
            username = input('用户名>>>:').strip()
            password = input('密码>>>:').strip()
            tem_user = username + '|' + password
            if tem_user in data:
                print('用户名已存在,注册失败')
            else:
                data.append(tem_user)
                print('注册成功,赶紧登录吧')
    else:
        choice = input('请输入y/n决定是否继续登录')
        if choice == 'y':
            count = 0
            continue
        else:
            break

posted @ 2022-03-09 20:56  有梦想的阿九  阅读(62)  评论(0)    收藏  举报