day04循环

本文介绍了Python中的循环结构,包括while循环和for循环的使用,以及如何选择合适的循环类型。同时讲解了continue和break关键字在循环中的作用,展示了它们在密码验证和猜数字游戏等场景中的应用。此外,还探讨了循环的else子句,并提供了几个练习,如判断素数、纯字母字符串和计算数字位数等。
摘要由CSDN通过智能技术生成
一,循环

1,while循环

1)语法:

while 条件语句

	循环体

2)执行过程

先判断条件是否成立,成立就执行循环体,执行完循环体再判断条件是否成立,成立就再执行循环, …,以此类推,判断条件的时候条件不成立,循环体结束.

​ 案例:使用while循环控制程序打印5次’hello world!’

x = 0
while x < 5:
    print('hello world')
    x += 1

2.for和while的选择

遇到循环问题的时候优先考虑for循环,for循环解决不了的问题才使用while循环

for循环无法解决的问题

1)死循环

2)循环次数不确定(循环次数不由程序员决定,而是使用这个程序用户的行为决定)

​ 循环不确定的案例:写程序提示用户输入密码,直到输入密码和系统保存的密码相同为止。

pw = '123456'
value = input('请输入密码')
while value != pw:
    value = input('请输入密码')
二,continue和break

continue和break是循环关键字,只能在循环中使用

1.continue - 结束一次循环

执行循环体的时候如果遇到了continue,当次循环结束,直接进入到下一次循环

for x in range(5):
    print('======')
    continue
    print('------')
for x in range(1, 11):
    if x % 2 == 1:
        continue
    print(x)
  1. break - 结束整个循环

执行循环体的时候遇到了break,整个循环直接结束(循环体剩下的部分不在执行,也不会进入下一次循环)

for x in range(5):
    print('=======')
    break
    print('+++++++')
    print('-------')
for x in range(1, 11):
    if x % 5 == 0:
        break
    print(x)

3.break的应用 - 当while遇到break

while True:

​ 需要重复执行的操作

​ if 循环结束条件

​ break

案例:写程序提示用户输入密码,直到输入密码和系统保存的密码相同为止

pw = '123123'
while True:
    value = input('输入密码')
    if value == pw:
        break
'''
系统随机产生一个0~100的随机数

请输入你猜的数字:
大了,再小一点!

请输入你猜的数字:
小了,再大一点!
...

请输入你猜的数字:
恭喜你猜对了!
'''

练习:用程序实现猜数字游戏的功能

from random import randint
num = randint(0, 100)

while True:
    num1 = int(input('请输入你猜的数字'))
    if num1 > num:
        print('大了,再小一点!')
    elif num1 < num:
        print('小了,再大一点')
    else:
        print('恭喜你猜对了!')
        break
        
三,循环的else

1,完整的循环结构

1)完整的for循环

for 变量 in 序列:

​ 循环体

else:

​ 代码段

2)完整的while循环

while 条件语句:

​ 循环体

else:

​ 代码段

2.循环else的作用

1)else的存在不影响原来循环的执行

2)如果前面的循环是正常结束(for把数据取完了导致循环结束;while循环条件不成立导致循环结束),else后面的代码段会在循环结束后执行;

​ 如果前面的循环是因为遇到break而结束,循环结束不会执行else后面的代码段。

for x in range(5):
    print(x, ' hello world!')
    if x == 2:
        break
else:
    print(100)

练习: 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

num = 29
for x in range(2, num):
    if num % X == 0:
        print(num, '不是素数')
        break
else:
    print(num,'是素数')

练习:判断字符串是否是纯字母字符串

str1 = 'htmrKSf'
for x in str1:
    if not('a' <= x <= 'z' or 'A' <= x <= 'Z'):
        print(str1, '不是纯字母字符串')
        break
    else:
        print(str1, '是纯字母字符串')

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

num = 7238
count = 0
while True:
    num = num // 10
    count += 1
    if num == 0:
        break
print(count)

练习:判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

# 方法一
num = 18
count = 0
for x in range(2, num):
    if num % x == 0:
        count += 1
    if count == 0:
        print(num, '是素数')
    else:
        print(num, '不是素数')
# 方法二
num = 18
flag = True
for x in range(2,num):
    if num % x == 0:
        flag = False
        break
if flag == True:
    print(num, '是素数')
else:
    print(num, '不是素数')       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小*生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值