# 掌握while循环的基本使用
"""
生活中的循环:表白100次直到成功为止
(1)食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完了
(2)快递员送快递:查看送件地址→赶往目的地→电话告知收件人→收件人签收→交快递件,重复以上过程,直到所有需要送的快递都处理完了。


程序中的循环:
while 条件: # 主要语法格式 空格缩进和if判断一样,都需要设置
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    .....
只要条件满足,会无限循环

循环的作用是什么?
让代码高效的重复执行


拿到问题,不要胡思乱想,就回答四个问题:
(1)初始状态是怎样的?
(2)重复做的条件是什么
(3)重复做什么
(4)怎么过渡到下一次循环

"""

# example1
i = 0  # 定义初始值
while i < 100:              # while 关键字后面写条件
    print("I love you !")   # 操作
    i += 1                  # 设置循环终止条件(此语句配合条件,就能确保100次后停止,否则将无限循环)

# example2:求1-100的和

sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(f"Sum={sum} ")  # 通过字符串格式一下

2.while循环案例

# while循环案例、嵌套使用

# 猜数字案例:设置一个范围1-100的随机变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
"""
tips:
无限次机会,直到猜中  方法:终止条件不适合用数字累加判断
每一次猜不中,会提示       提供数字累加功能
猜完数字后,提示猜测次数    随机数使用random函数
"""

# 获取随机数字
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}次")