目标
* while基本使用
*break和continue
*while循环嵌套
一. 程序的主要流程:
1.顺序-> 从上而下执行代码
2.分支-> 根据判断条件
3.循环-> 让特定代码重复执行
二. while基本语法: while 条件(判断是否满足,不满足就跳出,不执行while块内的代码):
满足条件就执行,不满足条件就跳出
所以内部一定有改变条件的代码
案例一:计算100以内的偶数求和
result = 0
i = 1
while i <= 100: #条件
if i%2: #判断是否为偶数
result+=i
i+=1 #改变条件
print(result)
案例二:我们把当时的石头剪刀布改一下,若电脑赢了我或平局就继续,知道我赢才结束
import random flag = True while flag: #判断条件 print("石头-1,剪刀-2,布-3") player = int(input("选手出:")) computer = random.randint(1, 3) # 随机生成1到3的整数 if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)): print("你赢了电脑") flag = False #改变条件 elif ((player == 1 and computer == 1) or (player == 2 and computer == 2) or (player == 3 and computer == 3)): print("平局") else: print("电脑赢了") print("computer: %d player: %d" % (computer, player))
三. break 和 continue
1.都是在循环语句执行的
2. break 满足某一条件,【退出循环】,不再执行后面的重复
3. continue 满足某一条件 不执行后续代码,直接返回循环语句
比如break的场景:在100中输出前10个数,当到达11时就会退出循环,不执行后面代码
i = 1
while i < 100:
if i == 11:
break #满足条件退出循环
print(i)
i+= 1
continue应用场景:在100中打印出不能除以三的数字,也就是当数字可以除以三就返回循环,不用打印
i = 1
while i < 100:
if i%3 == 0:
i += 1
continue
print(i)
i += 1
四. while的循环嵌套
嵌套的意思就是while里面有while,当然也可以一直嵌套
语法形式:while 条件1:
执行的代码
while 条件2:
执行的代码
while 条件3:
.......
比如我们要输出像这样的星星
* * * * * * * * * * * * * * *
分析上面的星星输出情况 1 第一行为一个,第二行为两个,第五行为五个,所以每行的个数都和行数相等
2 假设row为行数,一共有五行(用while条件用的 row <=5)
3 用col表示每行的个数,因为每行的个数都时和行数相等,所有用col = 1,且用while条件 col <= row
,这样就可以得到row个星星,当然必须在第row行时,等第row行的row个星星画完才可以换行
row = 1
while row <= 5:
col = 1
while col <= row:
print("*", end = " ") #end 添加可以防止print换行,且可以在每次输出*可以添加空格
col += 1
print("") #换行
row += 1
案例九九乘法表和上面时一样的理解,但是乘法表中的数字,我们可以用 row * col = row * col
打印出这样的九九乘法表
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
row = 1
while row <= 9:
col = 1
while col <= row:
print("%d * %d = %d" %(row, col, row * col), end = " ")
col += 1
print("")
row += 1