Python语法基础学习笔记四

DAY5-循环

一、while 循环

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'
for x in range(3):
    input('请输入密码:')


pw='123456'
value =input('请输入密码:')
while value != pw:
    value=input('请输入密码:')

二、循环关键字:continue 和 break

1.continue - 结束一次循环
执行循环体的时候遇到了continue,当循环结束,直接进入到下一次循环。
for x in range(5):
    print('====')
    continue
    print('++++')
    print('----')

# 案例:打印1~10中所有的偶数
# 方法1
for x in range(1,11):
    if x % 2 == 1:
        continue
    print(x)
# 方法2
for x in range(1,11):
    if x % 2 == 0:
        print(x)
2.break - 结束整个循环
1)执行循环体的时候如果遇到了break,整个循环直接结束(循环体剩下的部分不再执行,也不会进行下一次循环)
for x in range(5):
    print('=======')
    break
    print('+++++++')
    print('-------')


for x in range(1,11):
    if x % 5 == 0:
        break
        print(x)  #4

print('x:',x)   #5
2)break 的应用 - 当while遇到break
while True:
    需要重复执行的操作
    if 循环结束的条件:
        break
pw='123456'
while True:
    value = input('请输入密码:')
    if value == pw:
        break
from random import randint
num = randint(0,100)
print(num)     #产生100以内的随机数
# 练习:1.用程序实现猜数字游戏的功能
'''
系统随机产生一个0~100的随机数:

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

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

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

...

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

#2. 输入任意一个正整数,求他是几位数?
num = 919128
count = 0
while True:
    num = num // 10
    count += 1
    if num == 0:
        break
print(count)
# 3.判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
# 2  3  5  7 11 13 ...


# 方法1:
num = 18
count = 0  # 统计 2 ~ num-1 之间能被num整除数的个数
for x in range(2, num):
    if num % x == 0:
        count += 1
if count == 0:
    print(num, '是素数')
else:
    print(num, '不是素数')

# 方法2:
num = 18
flag = True  # 假设num是素数
for x in range(2, num):
    if num % x == 0:
        flag = False
        break

if flag == True:
    print(num, '是素数')
else:
    print(num, '不是素数')

三、else的循环结构

1.完整的循环结构
1)完整的for循环
for 变量 in 序列:
    循环体
else:
    代码段
    
2)完整的while循环
while 条件语句:
    循环体
else:
    代码段
    
else的存在不影响原来的循环的执行
for x in range(5):
    print('hello world')
else:
    print(100)    # pass
2.循环else的作用 :
1)else的存在不影响原来循环的执行
2)如果前面的循环是正常结束(for把数据取完了导致循环结束;while循环的条件不成立导致循环结束的),else后面的代码段会在循环结束后执行;如果前面的循环是因为遇到break而结束的,循环结束后不会执行else后面的代码段。
#练习1.判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
num = 7
for x in range(2, num):
    if num % x == 0:
        print(num, '不是素数')
        break
else:
    print(num, '是素数')
#2.判断字符串是否是纯字母字符串
str1='hsrDCJjs'
for x in str1:
    if not ('a' <= x <= 'z' or 'A' <= x <= 'Z'):
        print(str1,'不是纯字母字符串')
        break
else:
    print(str1,'是纯字母字符串')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值