while ... else ..
Python 还有个while ...else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
如果不走while循环,也会走else
count = 0 while False: count += 1 print("Loop",count) if count == 3:break else: print("循环正常执行完啦") print("-----out of while loop ------")
作业:
一、写代码计算1-2+3....+99除了88以外所有数的和。
count = 1 sum = 0 while count < 100: if count == 88: count = count + 1 continue if count % 2 == 1: sum = sum + count else: sum = sum - count count += 1 print(sum)
二、用户登录(三次机会)并且每次输错时显示剩余登录机会(用到字符串格式化。)
升级版:
当剩余机会为0时,可以询问用户是否在试试,如果用户同意在尝试,那就将在给他三次机会,可一直继续。
i = 3 name = "alex" pwd = "alex3714" while i > 0: username = input("请输入你的用户名:") password= input("请输入你的密码:") i = i - 1 if username == name and password == pwd: print("登陆成功") break else: print("用户名或密码错误,登录失败,您还有%d次机会"%i) if i == 0: result = input("您是否还要试试?Yes") if result == "Yes": i = 3 continue
三、需求:等待用户输入名字,地点,爱好,根据用户的名字和爱好实现任意现实。
如:敬爱可亲的×××,最喜欢在×××地方干×××
name = input("请输入你的名字:") place = input("请输入地方:") hobby = input("请输入你的爱好:") msg = '''敬爱可亲的%s,最喜欢在%s地方干%s'''%(name,place,hobby) print(msg)