Python 循环简介

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-100奇数
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到100,50到70不需要
 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+三次询问版

  无限循环 == 死循环

今天跟着老师学习了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="	") #	是制表符,这是是为了对齐
7         sec += 1
8     print()
9     first += 1
乘法口诀表

知识点补充:

上面的break是非自然中断了循环,因此如果当有break在while里面时,最后如果出现else将不再被执行。

当while中运用了continue时,代表跳过当次循环,直接进入下一次循环。

另外else被执行的情况是:当while自然中断以后,最后else语句将被执行。

原文地址:https://www.cnblogs.com/cbl321/p/8087768.html