while循环和循环关键字

本文详细介绍了Python中的while循环,包括语法、执行过程和相关练习。同时,讨论了for循环与while循环的关系及使用建议。还涵盖了循环关键字如continue和break的用法,以及它们在while和for循环中的应用。最后,提供了丰富的编程练习,帮助读者巩固循环和关键字的理解。
摘要由CSDN通过智能技术生成

1. while循环

1.1while

1.1.1 语法
'''
while 条件语句:
    循环体
'''
1.1.2 说明

1)while:关键字;固定写法;
2)条件语句:和if中的条件语句的要求一样;
3)冒号 : 固定写法;
4)循环体:

结构上和while保持一个缩进的一条或者多条语句;

逻辑上,需要重复执行的代码。

1.1.3 执行过程

判断条件语句是否为True,如果是就执行循环体,否则循环就结束。

流程图:

流程图

x = 0
while x < 5:
    print('======')
    x += 1
1.1.4 练习

练习1:打印1~100所有的数

x = 1
while x <= 100:
    print(x)
    x += 1

练习2:打印100以内所有的偶数:2,4,6,8,10,…,100

x = 2
while 2 <= x <= 100:
    print(x)
    x += 2

练习3:打印:100,98,96,94,92,…,4,2,0

x = 100
while 0 <= x <= 100:  # while x >= 0:
    print(x)
    x -= 2

1.2 for循环和while循环的选择

1.2.1 关系

1)for能解决的问题,while循环都可以解决;
2)while循环能解决的问题,for循环不一定可以解决;
3)for循环比起while循环,控制次数更简单(容易)。

1.2.2 使用建议

1)能用for循环解决的问题都用for,解决不了的才考虑while;
2)循环次数确定:使用for;
3)循环次数不确定:只能使用while循环。

1.2.3 练习

练习1:提示用户输入密码,直到输入正确为止

pw = '123456'
i_pw = input('请输入密码:')
while pw != i_pw:
    i_pw = input('密码错误,请重新输入密码:')

练习2:猜数字游戏

'''
系统随机产生一个0~100的随机数
用户不断输入数字,直到输入的数字和产生的数字相等,游戏结束。
如果猜错了,给出大了或者小了的提示信息

假设随机数是30
请输入数字(0~100):50
大了,再小点
请输入数字(0~100):25
小了,再大点
...
请输入数字(0~100):30
恭喜你猜对了!

'''

补充:python创建随机数

from random import randint
x = randint(10,20)  # 产生一个10到20的随机数,并且保存到变量x中
from random import randint
num = randint(0,100)
'''
while 输入的数字不等于产生的随机数:
    提示输入数据
    判断输入的数据和产生的数据之间的大小
    
恭喜你,猜对了!
'''

i_num = -1
while i_num != num:
    i_num = int(input('猜错了,请输入数字(10~100):'))
    if i_num > num:
        print('大了,再小点')
    elif i_num < num:
        print('小了,再大点')

print('恭喜你猜对了!')

2. 循环关键字

2.1 continue和break

2.1.1 只能出现在循环体中
2.1.2 continue:

结束一次循环,每次在执行循环体的时候,如果遇到continue,那么这次循环结束,直接进入下一次循环。

# 0,2,4,6,8
for x in range(10):
    if x % 2:
        continue
    print(x)
'''
x = 0: if 0 % 2: -> if 0 -> if False -> print(0) -> 0
x = 1: if 1 % 2: -> if 1 -> if True -> continue -> 下一次循环
x = 2: if 2 % 2: -> if 0 -> if False -> print(2) -> 2
...
打印结果为:0,2,4,6,8
'''
x = 0
while x <= 10:
    print(x)
    if x % 2 ==0:
        x += 3
        continue
    x += 1
'''
x = 0 
while 0 <= 10 -> while True -> print(0) -> if 0 % 2 ==0 -> if True -> x += 3 -> 3 -> continue 
while 3 <= 10 -> True ->print(3) -> if 3 % 2 ==0 -> if False -> x += 1 -> 4 
while 4 <= 10 -> while True -> print(4) -> if 4 % 2 ==0 -> if True -> x += 3 -> 7 -> continue 
while 7 <= 10 -> True ->print(7) -> if 7 % 2 ==0 -> if False -> x += 1 -> 8
while 8 <= 10 -> while True -> print(8) -> if 8 % 2 ==0 -> if True -> x += 3 -> 11 -> continue 
while 11 <= 10 -> False -> 整个循环结束 

打印结果:0,3,4,7,8

'''
2.1.3 break

结束整个循环,在执行循环体的时候,如果遇到brreak,那么整个循环直接结束,不会进入下次循环。

for x in range(10):
    if x % 2:
        break
    print(x)
    
'''
x = 0 -> if 0 % 2 -> if False -> print(0) 
x = 1 -> if 1 % 2 -> if True -> break
打印结果:0

'''

2.2 while和break

'''
while循环使用的通用格式:

while True:
    需要重复执行的代码
    if 循环结束的条件:
        break
'''

pw = '123456'
while True:
    i_pw = input('请输入密码')
    if i_pw == pw:
        brea

练习:输入任意一个正整数,求他是几位数?

# 123 -> 3  1236 -> 4   123456 -> 6   # 整除10几次就是几位数
# 123 // 10 -> 12 // 10 ->1 // 10 -> 0
# 98 // 10 -> 9 // 10 -> 0
# 123456 // 10 -> 12345 // 10 -> 1234 // 10 -> 123 // 10 -> 12 // 10 -> 1 // 10 -> 0

num = int(input('请输入一个正整数'))
count = 0
while True:
    num //= 10
    count 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值