# 循环 # 可以借助程序来解决某一类重复、繁琐的事情。 # 循环涉及的关键字:for、in、while、break、continue、else # for循环: """ 语法: for 变量 in 容器: 代码块 """ # range() # 计算1-100的和 # 容器中元素个数决定了for循环次数 # range(1, 101):左闭右开区间,生成[1,101)中的所有的整数 sum = 0 for i in range(1, 101): # print(i) sum += i print(sum) # range(M,N,step) :M是范围的起点,N是范围的终点,step是步长,默认值为1,可以不写。 # range(1,11):获取1-10十个元素。 # range(1,11,3):获取1、4、7、10四个元素 # range(10):获取0-9十个元素 # range(12,4):获取不到元素 # range(0,10,-1):获取不到元素 # range(11,1,-1):从11取到2,一共10个元素 # a.步长step决定了下一个元素获取谁,当前元素 + step = 下一个元素 # b.如果range中只有一个数字x,并且x大于0的,代表从0获取到x-1,此时x等于结束范围N,0等于开始范围M # c.如果step>0的,M<N;如果step<0的,M>N; for i in range(1, 6): print(i) print('-------------------------') for i in range(1, 6, 5): print(i) print('-------------------------') for i in range(1, 6, -1): print(i) print('-------------------------') for i in range(0, -10, -3): print(i) # 练习:通过修改步长,计算100以内2的倍数的和 sum = 0 for i in range(2, 101, 2): sum += i print(sum) # 练习:计算100的阶乘。 total = 1 for i in range(2, 101): total *= i print(total)
# while循环 # for适合循环次数确定的循环。 # while既适合循环次数确定的循环,又适合循环次数不确定的循环。 """ while语法 while 条件: 代码块 """ # 1.计算1-100的和 sum = 0 i = 1 while i <= 100: sum += i i += 1 print(sum) # 2.猜数字游戏。如果猜的数字比较大,提示再小一点;如果猜的数字比较小,提示再大一点; # 如果猜对了,程序结束;如果7次之内猜不对,提示智商有限。 import random # 随机模块random # randint(a,b) :表示从[a,b]中随机生成一个整数 num = random.randint(1, 100) # print(num) flag = True count = 0 while flag: num1 = int(input('请输入你猜的数字:')) count += 1 if num1 > num: print('再小一点') elif num1 < num: print('再大一点') else: print('猜对了') flag = False if count > 7: print('智商有限')
# break:break被触发,直接结束所在循环 # continue:continue被触发,直接跳出所在循环的当次循环,进入下一次循环 for i in range(1, 101): if i % 5 == 0: print('****') # break continue print('====') else: print(i) # ----------------- i = 1 while True: i += 1 if i == 50: break print(i)
# for-else """ for-else循环语法: for 变量 in 容器: 代码块 else: 代码块 for-else循环适用于所有可能考虑完才能得到某一结论的场景。 for循环正常结束之后,else语句被触发;如果for循环非正常结束,else语句不会被触发。 """ # 案例:找出100以内所有的素数。 # 只有1和本身两个因子的正整数叫做素数。 for i in range(2, 101): if i == 2: print('2是素数') else: for j in range(2, i): if i % j == 0: print(f'{i}不是素数') break else: print(f'{i}是素数')