Python while和for循环

127 阅读2分钟

whlie 循环

while循环格式:

while 条件判断:
    循环体
    条件控制

while 循环的嵌套格式

while循环格式如下
  初始变量
  while 条件判断:
  	循环体
  	条件控制

while 循环的案例:

猜数字游戏

需求:生成一个(1-10)的随机数字,一共有3次猜的机会,每次猜会提示猜大或者猜小。

import random
ds = random.randint(1, 10)
#设置猜的次数机会
i = 0
while i < 3:
    # 用户猜的数
    cds = int(input('请您输入您猜的数(1-10):'))
    # 拿着用户猜的数和底数比较(3次)
    if 1 <= cds <= 10:
        if cds == ds:
            print('恭喜,猜中了')
            # 跳出循环
            break
        elif cds > ds:
            print('猜大了')
        else:
            print('猜小了')
    else:
        print('输入有误!')
    i += 1

登录程序

# 需求: 登录系统,3次机会
name = 'admin'
pwd = '123456'

# 4.循环3次
i = 1
while i <= 3:
    # 2.登录
    user_name = input('请输入您的用户名:')
    user_pwd = input('请输入您的密码:')
    # 3.比较
    if user_name == name and user_pwd == pwd:
        print('登录成功,跳转首页...')
        # 跳出循环
        break
    else:
        print('登录失败')
    i += 1

注意:break 是直接结束循环,continue是跳出本次循环,下次继续循环。

打印所有水仙花数

需求:打印水仙花数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。

# 初始变量
i = 100
# while 条件判断
while i <= 999:
    # 提取个位数
    ge = i % 10
    # 提取十位数
    shi = i // 10 % 10
    # 提取百位数
    bai = i // 100
    if ge ** 3 + shi ** 3 + bai ** 3 == i:
        # 满足两个条件,说明是水仙花数
        print(i)
    # 条件控制
    i += 1

for 循环

for 循环格式

for 临时变量名 in 可迭代容器:
	循环体
可迭代容器: 字符串  元组  列表  字典  集合

range函数提前生成可迭代的数字序列
range(y):  范围是默认0到y(不含y),默认步长为1
range(x,y): 范围是x到y(不含y),默认步长为1
range(x,y,z): 范围是x到y(不含y),但是步长为z

for循环打印1-100的偶数和

sum = 0
for i in range(2,11,2):
    print(i)
    sum += i
print(sum)

for循环打印99乘法表

# 外层循环
for i in range(1, 10):
    # 整个内层循环都是外层循环的循环体
    for j in range(1, i + 1):
        # 内层循环体
        print(f"{j}*{i}={j*i}", end='\t')
    # 换行
    print()

print()有自动换行功能,如果不想换行print(end="")