i = 0
while i < 100:
print("小美,我喜欢你")
i += 1
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,直到猜中为止
每一次猜不中,会提示大了或小了
猜完数字后,提示猜了几次
提示:
无限次机会,终止条件不适合用数字累加来判断
可以考虑布尔类型本身(True or False)
需要提示几次猜中,就需要提供数字累加功能
随机数可以使用:
# 获取范围在1-100的随机数字
import random
num = random.randint(1, 100)
# 定义一个变量,记录总共猜测了多少次
count = 0
# 通过一个布尔类型的变量,做循环是否继续的标记
flag = True
while flag:
guess_num = int(input("请输入你猜测的数字:"))
count += 1
if guess_num == num:
print("猜中了")
# 设置为False就是终止循环的条件
flag = False
else:
if guess_num > num:
print("你猜的大了")
else:
print("你猜的小了")
print(f"你总共猜测了{count}次")
# 外层:表白100天的控制
# 内层:每天的表白都送10只玫瑰花的控制
i = 1
while i <= 100:
print(f"今天是第{i}天,准备表白.....")
# 内层循环的控制变量
j = 1
while j <= 10:
print(f"送给小美第{j}只玫瑰花")
j += 1
print("小美,我喜欢你")
i += 1
print(f"坚持到第{i - 1}天,表白成功")
同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
基于空格缩进来决定层次关系
注意条件的设置,避免出现无限循环(除非真的需要无限循环)
案例-打印九九乘法表
通过while循环,输出如下九九乘法表内容
# 定义外层循环的控制变量
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t", end='')
j += 1
i += 1
print() # print空内容,就是输出一个换行
除了while循环语句外,Python同样提供了for循环语句。
两者能完成的功能基本差不多,但仍有一些区别:
while循环的循环条件是自定义的,自行控制循环条件
for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
name = "itheima"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x)
# 坚持表白100天,每天都送10朵花
# range
i = 0
for i in range(1, 101):
print(f"今天是向小美表白的第{i}天,加油坚持。")
# 写内层的循环了
for j in range(1, 11):
print(f"给小美送的第{j}朵玫瑰花")
print("小美我喜欢你")
print(f"第{i}天,表白成功")
break关键字同样只可以控制:它所在的循环永久中断
break只能控制左图编号1的循环对编号2的循环,无影响
continue关键字只可以控制:它所在的循环临时中断
continue只能控制左图编号1的for循环对编号2的for循环,无影响