写在前面
一、while循环
## 最简单的示例:i=0while i < 10:i+=1print(f"这是第{i}次")
通过while循环求1~10的和:
i=1mysum = 0while i <= 10:mysum += ii += 1print(f"1~10的和是:{mysum}")
通过while循环完成猜数字的程序设计:
### 用while循环设置猜数字程序# 生成一个1~100间的随机数import randommynum = random.randint(1,100)# 设置条件mycondition = True# 记录次数i = 0# 用过while循环生成猜数字游戏while mycondition == True:i += 1myinput = input("请猜一个1~100的数字:")if int(myinput) == mynum:print(f"恭喜你在第{i}次猜中了,数字是{mynum}")mycondition == Falseelif int(myinput) > mynum:print(f"很遗憾你在第{i}次没有猜中,你的数字比答案更大,请继续输入数字")elif int(myinput) < mynum:print(f"很遗憾你在第{i}次没有猜中,你的数字比答案更小,请继续输入数字")

通过while打印九九乘法表:
# 当前打印到第几行hang = 1while hang < 10:# 当前打印到第几列lie = 1while lie < hang:print(f"{lie}*{hang}={lie*hang}",end='\t')lie += 1print(f"{lie}*{hang}={lie*hang}")hang += 1
运行效果如下:

二、for循环
1、for循环基本语法
for循环是一种遍历循环,其基本语法是
for 临时变量 in 序列类型: # 序列类型即为待处理变量/数据集循环满足条件时执行的代码
例如:
for mychar in'Biomamba':print(mychar)
则"Biomamba"中的字母会被依次打出:

利用for循环来统计"Biomamba"一共包含多少字符(其实有函数可以直接完成这个功能,这里先小小的挖一个坑):
chr_numr = 0for mychar in'Biomamba':chr_numr += 1print(f"'Biomamba'共包含{chr_numr}个字符")
运行结果:

2、利用range语句调用for循环
range()语句用法一:
括号中只填写一个数字:
for temp_num in range(5):print(temp_num)
遍历输入range(5)的结果,可以看出range(5)实际上生成了0~4的这五个数字:

range()用法2:
填入两个数字(start, end),则生成start至end-1的数字,步长为1
for temp_num in range(1,6):print(temp_num)

range()用法3:
填入两个数字(start, end, step),则生成start至end-1的数字,步长为3
for temp_num in range(1,10,3):print(temp_num)

那么,上面的while循环打印99乘法表可以改写为,这里写一个嵌套的while,大家注意缩进:
# 当前打印到第几行hang = 1for hang in range(1,10):# 当前打印到第几列lie = 1while lie < hang:print(f"{lie}*{hang}={lie * hang}", end='\t')lie += 1print(f"{lie}*{hang}={lie * hang}")hang += 1
实际运行结果:

当然,也可以通过两个for循环的嵌套来完成:
for hang in range(1,10):for lie in range(1,hang+1):print(f"{lie}*{hang}={lie * hang}", end='\t')print("")
四行代码就完成了目标,大家平时码代码的时候也可以选择最优雅的方式~

三、break与continue
1、continue
continue命令可以跳出当次循环,而直接执行下一个循环
for temp_num in range(1,5):print(f"这是第{temp_num}次continue前的语句")continueprint(f"这是第{temp_num}次continue后的语句")
例如执行结果中只包含continue之前的循环语句,且所有的循环均能执行:

2、break
break生效时,整个循环跳出
for temp_num in range(1,5):print(f"这是第{temp_num}次break前的语句")breakprint(f"这是第{temp_num}次break后的语句")
所以我们的预设语句只打印出了第一句

往期回顾

如何联系我们


已有生信基地联系方式的同学无需重复添加

