DAY04 while循环和循环关键字

本文详细介绍了Python编程中的while循环及其使用,包括while循环的执行过程、循环选择以及练习示例。同时,讲解了循环关键字continue和break的用法,以及它们在循环控制中的作用。此外,还探讨了else子句在完整循环结构中的应用。内容涵盖了循环条件判断、循环次数控制以及异常情况处理等核心概念。
摘要由CSDN通过智能技术生成

DAY04 while循环和循环关键字

一. while循环

1.1 while
  • 语法:

    while 条件语句:

    ​ 循环体

  • 说明:

    while - 关键字:固定写法
    条件语句 - 和if中的条件语句要求一样
    : (冒号) - 固定写法
    循环体 - 结构上,和while保持一个缩进的一条或者多条语句;逻辑上,需要重复执行的代码

  • 执行过程:
    不断判断条件语句是否为True,如果是就执行循环体,否则循环结束

# 练习1:打印1~100所有的整数
num = 1
while num < 101:
    print(num)
    num += 1


# 练习2:打印100以内所有偶数
num = 2
while num <= 100:
    print(num)
    num += 2


# 练习3:打印100,98,96,94..... 0
num = 100
while num >= 0:
    print(num)
    num -= 2
1.2 for循环和while循环的选择
  • 关系:

    for能解决的问题,while循环都能解决;

    但是for循环比起while循环,控制次数更简单容易

  • 使用建议:

    能用for循环解决的问题都用for循环,解决不了的才考虑while;

    循环次数确定使用for,循环次数不确定只能使用while循环

# 练习:提示用户不断输入密码,直到密码正确
pw = '123456'
input_pw = input('请输入密码:')
while pw != input_pw:
    input_pw = input('密码错误,请重新输入密码:')
print('密码正确')


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

from random import randint
num = randint(0, 100)
# print(num)
# g_num = int(input('请猜数字(0~100):'))
g_num = -1
count = 1
while num != g_num and count < 10:
    g_num = int(input('请猜数字(0~100):'))
    if num > g_num:
        print('猜小了,你还有', 10 - count, '次机会')
        # g_num = int(input('请重新猜数字:'))
        count += 1
    else:
        print('猜大了,你还有', 10 - count, '次机会')
        # g_num = int(input('请重新猜数字:'))
        count += 1

if count >= 10:
    print('猜错了,游戏失败T_T')
else:
    print('恭喜你,猜对了!')

补充:Python创建随机数

from random import randint

x = randint(10, 20)   # 产生一个10到20的随机数,并保存到变量X中

二. 循环关键字

2.1 continue和break

continue和break都只能出现在循环体中

  • continue - 结束一次循环。每次在执行循环体的时候,如果遇到continue,那么结束本次循环
  • break - 结束整个循环。在执行循环体的时候,如果遇到break,那么整个循环直接结束
for x in range(5):
    print(x)
    print('======')
    continue
    print('++++++')

'''
0
======
1
======
2
======
3
======
4
======

'''

for x in range(10):
    if x % 2:
        continue
    print(x)
'''
0
2
4
6
8
'''
print('=========')
x = 0
while x <= 10:
    print(x)
    if x % 2 == 0:
        x += 3
        continue
    x += 1

print('========')

for x in range(5):
    print(x)
    print('======')
    break
    print('++++++')


for x in range(5):
    if x % 2:
        break
    print(x)
2.2 while和break

while循环使用的通用格式:

while True:

​ 需要重复执行的代码

​ if 循环结束的条件:

​ break

# 输入密码直到正确
pw = '123456'
while True:
    i_pw = input('请输入密码:')
    if i_pw == pw:
        break


# 练习:输出任意正整数的位数
num = input('请输入一个任意正整数:')
# 方法一
print(len(num))
# 方法二
count = 0
for x in num:
    count += 1
print(count)
# 方法三
num = int(num)
count = 1
while True:
    if num % (10 ** count) == num:
        break
    count += 1
print(count)

# 方法四
count = 0
while True:
    num //= 10
    count += 1
    if num == 0:
        break
print(count)
2.3 else
  • 完整的循环结构:
  1. 完整的for循环
    for 变量 in 序列:
    循环体
    else:
    代码段

  2. 完整的while循环
    while条件语句:
    循环体
    else:
    代码段

  • else的作用:
    else的存在,不会影响原来循环的执行;
    如果循环不是因为遇到break而结束的,else后的代码段就会在循环结束后执行,否则不执行
for x in range(5):
    if x == 3:
        break
    print(x, '=======')
else:
    print('+++++++')SSS
print('--------')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值