- 现有字符串: str1 = '1234567890',根据题目要求完成以下题目:
(1)截取字符串的第一位到第三位的字符
(2)截取字符串最后三位的字符
(3)截取字符串的全部字符
# 现有字符串: str1 = '1234567890',根据题目要求完成以下题目: # 截取字符串的第一位到第三位的字符 # 截取字符串最后三位的字符 # 截取字符串的全部字符 str1 = '1234567890' ret = str1[:3] print(ret) ret1 = str1[-3:] print(ret1) ret2 = str1[:] print(ret2)
运行结果:
123 890 1234567890
2.将下列字符串中所有的数字相加,相加完毕的结果输出至终端.
str = “10@20@30@4@6”
# 将下列字符串中所有的数字相加,相加完毕的结果输出至终端. # str = “10@20@30@4@6” str = "10@20@30@4@6" ret = str.split("@") print(ret) sum = 0 for i in ret: sum += int(i) print("结果输出:%d" % sum)
或者:
#方法二: str1 = "10@20@30@4@6" a = int(str1[0:2]) b = int(str1[3:5]) c = int(str1[6:8]) d = int(str1[9:10]) e = int(str1[11:12]) print(a + b + c + d + e)
或者:
#方法三 str1 = "10@20@30@4@6" a = str1.replace("@", "+") b=eval(a) print(b)
运行结果:
['10', '20', '30', '4', '6'] 结果输出:70
3.输出字符串str1中所有的偶数.
str1 = “1234567890”
# 输出字符串str1中所有的偶数. # str1 = “1234567890” str1 = "1234567890" for i in str1: if int(i) % 2 == 0 and int(i) != 0: print(i)
运行结果:
2 4 6 8
4.从键盘输入一个用户名和密码,判断是否正确,如果是则打印登录系统成功,否则显示用户名或密码错误并重新输入
while True: username = input("请输入用户名:") passwd = input("请输入密码:") if username == "username" and passwd == "passwd": print("登陆成功") break else: print("用户名或密码错误,请重新输入")
5.已有列表nums=[11,22,33,44,55],分别使用for循环和while循环遍历列表
# 已有列表nums=[11,22,33,44,55],分别使用for循环和while循环遍历列表 i = 0 while i < len(nums): value = nums[i] print(value) i += 1
for循环:
nums=[11,22,33,44,55] for value in nums: print(value)
6.完成字符串的逆序以及统计
设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
打印出字符串长度
使用切片逆序打印出字符串
# 完成字符串的逆序以及统计 # 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入 # 打印出字符串长度 # 使用切片逆序打印出字符串 while True: # 获取键盘输入 a = input("请任意输入一个字符串(长1-31):") # 测试长度: if len(a)<1 or len(a)>31: print("长度超出限制,请重新输入") continue # 如果输入“QUIT”则退出程序 if a == "QUIT": break # 打印其长度并逆序打印字符串 print("您输入的字符串%s\n"%a, "长度:%d\n"%len(a), "逆序后为:%s"%a[::-1] )
7.用户名和密码格式校验程序打印出菜单栏,选择1进行注册,选择2退出
-
要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
- 用户名长度6-20,用户名必须以字母开头
- 密码长度至少6位,不能为纯数字,不能有空格
=====欢迎====== 1.注册 2.退出 ==============
while True: print(""" =====欢迎===== 1.注册 2.退出 ============== """) opt = input("请输入选项:") # 选项为1,即为注册,验证用户名和密码 if opt == "1": # 验证用户名 while True: username = input("请输入用户名:") # 如果用户名长度小于6或者大于20 if len(username) < 6 or len(username) > 20: # 用户名长度小于6或者大于20且第一个字符不是字母 if not username[0].isalpha(): print("用户名长度不符且第一个字符不是字母,请重新输入") continue print("用户名长度不符,请重新输入") continue # 中断本次循环,重新输入用户名 # 长度符合,但是第一个字符不是字母 elif not username[0].isalpha(): print("用户名第一个字符不是字母,请重新输入") continue else: break # 校验成功,跳出输入用户名环节 # 验证密码 while True: password = input("请输入密码:") # for循环检查是否有空格 for i in password: # 检查每一个字符是否是空格 if i.isspace(): # 有空格且密码过断 if len(username) < 6: print("密码长度小于6位且有空格,请重新输入") break # 跳出内层for循环,继续执行输入密码的循环 # 包含空格,长度满足 else: print("密码不能包含空格,请重新输入") break # 如果没有空格,则进入下面else语句 else: # 如果密码全是数字 if password.isdigit(): if len(password) < 6: print("密码长度小于6位且为纯数字,请重新输入") continue # 跳出当前循环,重新输入密码 print("密码为纯数字,请重新输入") continue # 跳出当前循环,重新输入密码 # 不含空格,不为纯数字,长度小于6 elif len(password)<6: print("密码长度小于6位,请重新输入") continue # 不含空格,不为纯数字,长度不小于6 print("注册成功,您的用户名是%s,密码是%s" % (username, password)) break # 校验成功,退出输入密码环节 elif opt == "2": # 退出 print("bye!") break else: print("输入有误,请重新选择")
8.名片管理器v1.0
- 控制姓名长度为6-20
- 电话号码长度11
- 性别只能允许输入男或女
- 每一样信息不允许为空
while True: # 获取用户输入 name = input("请输入姓名(6-20):") # 如果输入“QUIT”则退出程序 if name == "QUIT": break gender = input("请输入性别(男或女):") company = input("请输入公司:") address = input("请输入公司地址:") phone = input("请输入联系方式(手机):") # 检测姓名输入是否符合 if len(name) < 6 or len(name) > 20: print("姓名长度只能是6-20位") # 如果不正确直接重新开始 ,所以使用continue continue # 检测电话号码是否符合 if len(phone) != 11: print("请输入有效的电话号码") continue # 控制性别的输入 if gender not in "男女" and len(gender) != 1: print("请输入有效的性别(男或女)") continue # 控制所有数据不为空 if company == "" or address == "": print("输入不能为空") continue print("添加成功") print(""" ======================= 姓名:%s 性别:%s 公司:%s 公司地址:%s 手机:%s ======================= """ % (name, gender, company, address, phone)) print("=*" * 20)
9.名片管理器v2.0
- 在上一版本的基础上,增加可以添加多个名片的功能
- 可以打印所有名片的功能
- 可以删除名片的功能
cart_list = [] while True: print(" 名片管理器V2.0") print("1.添加名片") print("2.删除名片") print("3.查看所有名片") print("4.退出") cmd = input("请输入命令:") # 添加名片 if cmd == "1": # 获取用户输入 name = input("请输入姓名(6-20):") gender = input("请输入性别(男或女):") company = input("请输入公司:") address = input("请输入公司地址:") phone = input("请输入联系方式(手机):") # 检测姓名是不是在6-20之间 if len(name)<6 and len(name)>20: print("姓名长度只能是6-20位") # 如果不符合条件,那么重新输入,则使用continue continue # 检测电话号码是否有效的11位 if len(phone) != 11: print("请输入有效的电话号码") # 如果不符合条件,那么重新输入,则使用continue continue # 控制性别的输入只能是男或女 if gender not in "男女" and len(gender) != 1: print("请输入有效的性别(男或女)") # 如果不符合条件,那么重新输入,则使用continue continue # 所有数据不能为空,如果为空,那么重新输入 if name=="" or gender=="" or company=="" or address=="" or phone=="": print("输入不能为空") continue # 创建新名片 cart = [name,gender,company,address,phone] # 把名片添加到名片列表里 cart_list.append(cart) print("添加成功") # 删除名片 if cmd == "2": num = int(input("请输入要删除第几个名片")) # 因为下标号从0开始,所以需要-1 cart_list.pop(num-1) print("删除成功") # 查看名片 if cmd == "3": i = 1 # 遍历名片列表 for c in cart_list: print("%d. "%i,c) i += 1 # 退出 if cmd == "4": break
10.从键盘中输入5个学生的名字,存储到列表中,然后打印出每个学生名字中的第2个字母
# 从键盘中输入5个学生的名字,存储到列表中,然后打印出每个学生名字中的第2个字母 my_list = list() for _ in range(5): name = input("请输入一个学生名字:") my_list.append(name) print(my_list) for name in my_list: value = name[1] print(value)
或者:
i = 1 # 存放学生的列表 student_list = [] # 依次添加5名学生 while i<=5: student = input("请输入第%d名学生的姓名:"%i) student_list.append(student) i += 1 # 遍历学生列表 for stu in student_list: print("%s的第二个字母为%s"%(stu,stu[1]))