#python 学习之 for and while循环

129 阅读2分钟

作为一个python小白,经过几天的学习,从最初的字面量等简单的概念,到单个的基础语法if\逻辑判断等,逐步完成逻辑更强,更稍微复杂的基础应用案例,学习了几个有趣经典的案例,初步体验了python的魅力,体会程序逻辑性,结合有趣的案例生动形象地运用所学知识,学习在于点滴积累:

1.水仙花数

#水仙花数:各个位的3次幂和等于其本身的三位数
#for循环结合 range()函数循环判断
for i in range(100, 1000):
    # 分别求各个位的数字
    # 个位 % 运用取余运算
    ge = i % 10
    # 十位  结合取商与求余运算
    shi = i // 10 % 10
    # 百位  取商
    bai = i // 100
    # 判断自幂和是否等于本身
    # 结合算术运算符 **
    if ge ** 3 + shi ** 3 + bai ** 3 == i:
        # 等于就输出
        print(f'水仙花数: {i}')

2.结合生活案例运用break在for循环中

# break跳出循环案例
# 需求:煮水时间,设定300秒自动结束
# 范围 range(1,501,1)
for i in range(1, 501, 1):
    print(f'已煮水{i}分钟')
    if i == 300:
        print(f'已煮水{i}分钟,自动结束')
        break

3.数字大爆炸的while循环版本

#需求:在1-100之间给出一个不变的底数,然后猜测数字,不中就继续猜测并提示猜大了或猜小了,直到猜中为止.
# 导包
import random

# 生成随机数并,赋值给底数变量bomb
bomb = random.randint(1, 100)
print(f'偷偷查看一下底数:{bomb}')
# 无限次猜测机会,但是定义一个计算变量计算猜测次数
count = 0

# 4.使用True条件,是循环不遇到break永不退出,此处即是,不猜中就继续猜
while True:
    # 定义一个接受输入数字的变量gass_num
    gass_num = int(input('请输入一个您猜的数字(1,100): '))
    # 1.判断输入的数据是否符合所设置的范围
    if gass_num > 100 or gass_num < 1:
        print("您输入的数据不在范围内,输入有误,请重新输入: ")
        # 否则,继续判断是否猜中
    else:
        # 5.count 计数加1
        count += 1
        # 2.一次版本,没有循环
        if gass_num == bomb:
            print(f"恭喜你,猜对了,你所使用的次数是{count}次,爆炸数字是{bomb}")
            break
        elif gass_num > bomb:
            print("猜大了,请猜一个更小的数,请重新猜")
        else:
            print("猜小了,请猜一个更大的数,请重新猜")