Python中,While循环语句的用法及注意事项
Posted 宝露
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中,While循环语句的用法及注意事项相关的知识,希望对你有一定的参考价值。
loop(循环):
有限循环,有次数限制,下面是for循环基本语法。
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 for i in range(1,4): # i代表变量 rang(1,4)表示打印1 2 3,第四次不循环。 5 print("循环次数:",i)# 输出结果是1 2 3
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 for i in range(1,101,2): #后面这个2叫步长,先输出完1后,每个递增2 5 print("输出结果:", i)
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 #输出1-100的数,50-70不需要输出。 5 6 for i in range(1,101): 7 if i < 50 or i>70: 8 print(i)
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 #用户输入账号密码,三次输错锁死,账号密码输错有提示。 5 6 usr_name = "baolu" 7 usr_pass = "123" 8 pass_ok = False #flag = 标志位 9 for i in range(3): 10 usr_name_1 = input("请输入用户名:") 11 usr_pass_1 = input("请输入密码:") 12 if usr_name == usr_name_1 and usr_pass == usr_pass_1: 13 print("欢迎%s登陆!"%(usr_name_1)) 14 pass_ok = True 15 break 16 else: 17 print("用户名或密码错误!") 18 19 if not pass_ok: 20 print("输错次数过多,请稍后尝试!")
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 #用户输入账号密码,三次输错锁死,账号密码输错有提示。 5 6 usr_name = "baolu" 7 usr_pass = "123" 8 for i in range(3): 9 usr_name_1 = input("请输入用户名:") 10 usr_pass_1 = input("请输入密码:") 11 if usr_name == usr_name_1 and usr_pass == usr_pass_1: 12 print("欢迎%s登陆!"%(usr_name_1)) 13 break #如果这个break被执行,下面的俩else都不会被执行 14 else: 15 print("用户名或密码错误!") 16 17 else: #只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句 18 print("输错次数过多,请稍后尝试!")
1 #__ author:"Cheng" 2 #date:2018-02-12 3 4 #用户输入账号密码,三次输错锁死,账号密码输错有提示。 5 6 usr_name = "baolu" 7 usr_pass = "123" 8 count = 0 9 while count < 3: 10 usr_name_1 = input("请输入用户名:") 11 usr_pass_1 = input("请输入密码:") 12 if usr_name == usr_name_1 and usr_pass == usr_pass_1: 13 print("欢迎%s登陆!"%(usr_name_1)) 14 break #如果这个break被执行,下面的俩else都不会被执行 15 else: 16 print("用户名或密码错误!") 17 count += 1 18 19 if count == 3: 20 usr_choice = input("您已输错三次,是否继续尝试?y or n ?") 21 if usr_choice == "y": 22 count = 0 #这里要写=0而不是 == 0!!!!要注意!!! 23 24 25 else: #只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句 26 print("输错次数过多,请稍后尝试!")
无限循环 == 死循环
今天跟着老师学习了While语句的用法,听老师讲的时候是听明白了,感觉好简单,但是自己做一遍的时候出了好多处的错误。我犯的错误都是新手常犯的,因此我觉得有必要把这次记录下来,提醒自己也提醒跟我一样的小白要注意一下。
这次做的是猜年龄的小程序,案例代码如下:
1 age=50 2 flag = True 3 while flag: 4 usr_input=int(input("请输入你猜测的年龄:")) 5 if usr_input == age: 6 print("恭喜,回答正确!") 7 flag=False 8 elif usr_input > age: 9 print("您猜过头啦!") 10 else: 11 print("您猜小啦!")
细数了一下,我犯了以下三个错误:
1.int要放在input前面定义,并且“请输入你猜测的年龄”要加双引号。
2.print前面要缩进,不然程序运行会出错。
3.True和False第一个必须要大写,小写的true和false程序不识别。
当然,还有另外一种用 break 实现该程序的方式,代码如下,可以对比看一下哈:
1 age=50 2 while True: 3 usr_input=int(input("请输入你猜测的年龄:")) 4 if usr_input == age: 5 print("恭喜,回答正确!") 6 break 7 elif usr_input > age: 8 print("您猜过头啦!") 9 else: 10 print("您猜小啦!")
小测试,输入矩形指定宽、高:
1 usr_height = int(input("请输入矩形的高")) 2 usr_weight = int(input("请输入矩形的宽")) 3 4 num1 = 1 5 while num1 <= usr_height: 6 num2 = 1 7 while num2 <= usr_weight: 8 print("#",end="") 9 num2 += 1 10 print() 11 num1 += 1
1 san_bian = int(input("请输入边:")) 2 3 line_1 = san_bian 4 while line_1 > 0: 5 line_2 = line_1 6 while line_2 > 0: 7 print("#",end="") 8 line_2 -= 1 9 print() 10 line_1 -= 1
1 first = 1 2 3 while first <= 9: 4 sec = 1 5 while sec <= first: 6 print(str(sec)+"*"+str(first)+"="+str(sec * first),end="\\t") #\\t是制表符,这是是为了对齐 7 sec += 1 8 print() 9 first += 1
知识点补充:
上面的break是非自然中断了循环,因此如果当有break在while里面时,最后如果出现else将不再被执行。
当while中运用了continue时,代表跳过当次循环,直接进入下一次循环。
另外else被执行的情况是:当while自然中断以后,最后else语句将被执行。
以上是关于Python中,While循环语句的用法及注意事项的主要内容,如果未能解决你的问题,请参考以下文章