练习题
编写用户登录程序 温馨提示: ⽤户名与密码来源于字符串source_data = 'jason|123' 想办法从中拆分出⽤户名和密码用于后续账户信息⽐对 普通要求: 1.验证失败情况下可⼀一直循环验证 成功则直接退出 拔高练习: 1.只允许三次失败机会 2.登录成功后进⼊入内层循环,用户输⼊任何指令利⽤格式化输出 打印正在执行该⽤户指令即可,直到⽤户输⼊字⺟q退出内层循环 source_data = 'jason|123' # 定义一个变量,记录每次输错的次数 count = 0 while count<3: # 1. 让用户输入用户名和密码 username = input('请输入用户名:').strip() password = input('请输入密码:').strip() # 2. 需要把source_data拆分出来 real_username, real_password = source_data.split('|') # ['jason', '123'] # data = source_data.split('|') # ['jason', '123'] # real_username = data[0] # real_password = data[1] # 3. 比对用户名和密码 if username == real_username and password == real_password: print('登录成功') while True: cmd = input('请输入你的指令:').strip() print('正在执行你的指令:%s' % cmd) if cmd == 'q': break else: print('用户名或者密码错误') count += 1
字符串的内置方法
# 如何查看字符串类型与那些方法?句点符 . # 1. 把字符串转为全大写 string = 'jaSON123ly' # # print(string.upper()) # JASON123LY # 2. 把字符串转为全小写 # print(string.lower()) # jason123ly # 3. 判断以指定字符开头和结尾 # print(string.startswith('ja')) # print(string.startswith('jaS')) # 4. 是否以某字符结尾 print(string.endswith('y')) print(string.endswith('ly')) print(string.endswith('123lyss')) # 小案例: old_code = 'jaSO' print('返回给用户的验证码是:%s' % old_code) new_code = input('请输入验证码:').strip() # if old_code.upper() == new_code.upper(): if old_code.lower() == new_code.lower(): print('验证码正确') else: print('验证码错误') '''format的使用''' # 第一种玩法: # s = 'my name is {}, my age is {}' # print(s.format('ly', 18)) # 第二种玩法: # s = '{0} my name is {1}, my age is {0}, {1}, {1}, {0}, {2}' # print(s.format('ly', 18, 'male', )) # 第三种玩法: s = ' my name is {name}, my age is {age}, {name}, {name}, {age}' print(s.format(name='ly', age=18)) # 使用逗号分割一下列表数据,'ly,jason,tom,kevin' name_list = ['ly', 'jason', 'tom', 'kevin'] s1 = name_list[0] s2 = name_list[1] s3 = name_list[2] s4 = name_list[3] print(s1 + ',' + s2 + ',' + s3 + ',' + s4 ) print(','.join(name_list)) # 替换字符串 replace # s = 'my name is ly ly ly ly' # # print(s.replace('ly', 'jason', 1)) # 面试题:如何交互两个变量? # 1. 借助于第三个变量 m = 'hello' n = 'world' # tmp = m # m = n # n = tmp # m, n = n, m s = m + n # helloworld m = s.replace('hello', '') n = s.replace('world', '') print(m, n) # num = '12345abc' # print(num.isdigit()) age = input('请输入你的年龄:').strip() if age.isdigit(): print('全是数字') else: print('不全是数字')
# 了解
s = 'helloworldworldworld'
# print(s.find('hw')) # 可以找到字符所在的索引位置, 如果找不到返回-1
# print(s.find('w'))
# print(s.find('world'))
# print(s.index('hw')) # 找不到直接报错
# print(s.index('w'))
# print(s.count('l'))
# print(s.count('world')) # 统计一个字符在另外一个字符重存在的次数
# s1 = 'jason'
# print(s1.center(14, '='))
# print(s1.ljust(15, '*'))
# print(s1.rjust(15, '*'))
# print(s1.zfill(15)) # zero
s2 = 'my name is ly, JASon'
print(s2.capitalize()) # My name is ly 首字母转大写
print(s2.swapcase()) # 大小写互换
print(s2.title()) # 每个单词的首字母大写
列表的内置方法
关键字:list 类型转换 # print(list(123)) # 不行 # print(list(1.11))# 不行 # print(list('hello')) # ['h', 'e', 'l', 'l', 'o'] # print(list([1, 2, 3 ])) # print(list({'username': 'ly', 'age': 18})) # ['username', 'age'] # print(list((1, 2, 3))) # [1, 2, 3] print(list({1, 2, 3, 4})) # [1, 2, 3, 4] # 1. 修改 # name_list = ['ly', 'tom', 'jason'] # print(name_list[0]) # print(name_list[1]) # print(name_list[2]) # name_list[0] = 'hahahh' # name_list[2] = 'hehihehi' # name_list[6] = 'hehihehi' # print(name_list) # 2. 添加:第一种方式 # name_list = ['ly', 'tom', 'jason', ] # 末尾添加, 把括号中的元素当成一个整体添加到末尾 # name_list.append(666) # name_list.append([1, 2, 3, 4]) # print(name_list) # 2.1 添加:第二种方式 把括号中的元素当成一个整体添加到索引位置 # name_list.insert(0, 'haha') # name_list.insert(2, 'haha') # name_list.insert(6, 'haha') # name_list.insert(1, [1, 2, 3, 4]) # print(name_list) # 2.2 添加:第三种方式, 合并两个列表 # name_list.extend([1, 2, 3 ,4]) # print(name_list) name_list = ['ly', 'tom', 'jason', ] l = [1, 2, 3, 4] for i in l: name_list.append(i) print(name_list) # 列表的删除 # 列表的删除 name_list = ['ly', 'tom', 'jason', 'haha'] # 第一种方式: # del name_list[0] # print(name_list) # 第二种方式: # name_list.remove('jason') # print(name_list) print(name_list.remove('jason')) # None # 第三种方式:弹出元素 # name_list.pop(2) # 括号里面写索引值 # name_list.pop() # 删除最后一个元素 # print(name_list) # print(name_list.pop(1))
可变与不可变类型
s = 'my name is ly' # s1 = s.title() # print(s1) # print(s) name_list = ['tom', 'jason'] print(name_list.append(666)) print(name_list) # ''' 可变类型:列表,字典 值改变了,内存地址不改变, 不可变类型:数字,字符串,元组 原值不变,内存地址改变,其实就是产生了新的值 '''

# 对字典进行操作时,值改变的情况下,字典的id也是不变,即字典也是可变数据类型
队列与栈
# 队列:先进先出
# 栈: 栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来(先进后出)
浙公网安备 33010602011771号