day04-while循环和循环关键字

day04-while循环和循环关键字

回顾
  1. 顺序结构

  2. 分支结构 - if

"""
# 单分支结构
if 条件语句:
    代码段

# 双分支结构
if 条件语句:
    代码段1
else:
    代码段2
    
# 多分支结构
if 条件语句1:
    代码段1
elif 条件语句2:
    代码段2
elif 条件语句3:
    代码段3
...
else:
    代码段N
"""
  1. 循环结构 - for, while
"""
语法:
for 变量 in 序列:
	循环体
	
range函数:创建等差数列
range(N):[0, N), 差为1
range(M, N): [M, N), 差为1
range(M, N, step): [M, N),差为step
			若step为负数,M比N大
"""
while循环
  1. while
"""
语法:
while 条件语句:
	循环体
	
说明:
while - 关键字, 固定写法
条件语句 - 和if中的条件语句要求一样
: - 固定写法
循环体 - 结构上和while保持一个缩进的一条或多条语句; 逻辑上,需要重复执行的代码

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

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

x = 1
while x <= 100:
    print(x, end='\t')
    x += 1
print()

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

x = 2
while x <= 100:
    print(x, end='\t')
    x += 2
print()

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

x = 100
while x >= 0:
    print(x, end='\t')
    x -= 2
print()
  1. for循环和while循环的选择
"""
for能解决的问题,while都能解决; while能解决的问题,for不一定能解决
for比while控制次数更简单

优先用for,其次while
循环次数确定	-	for
循环次数不确定	-	while
"""

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

pw = '11029'
while True:
    i_pw = input('请输入密码:')
    if i_pw == pw:
        print('密码正确')
        break
    else:
        print('密码错误,请重新输入')
        
# 方法2:
pw = '11029'
i_pw = input('请输入密码:')
while i_pw != pw:
    i_pw = input('密码错误,请重新输入密码:')
print('密码正确')

练习2:猜数字游戏

from random import randit

sys_num = randint(0, 100)
count = 1
while True:
    if count <= 10:
    	i_num = int(input('请猜数(0~100)整数:'))
        if i_num > sys_num:
            print('大了,再小一点')
        elif i_num < sys_num:
            print('小了,再大一点')
        else:
            print(f'恭喜你,猜数正确!!!共猜数{count}次')
    else:
        print('次数用尽, 猜数失败...')
        break
    count += 1

    
# 方法2:
from random import randit

sys_num = randint(0, 100)
count = 1
i_num = int(input('请猜数(0~100)整数:'))
while i_num != sys_num and count < 10:
    if i_num > sys_num:
        print('大了,再小一点')
    elif i_num < sys_num:
        print('小了,再大一点')
   	i_num = int(input('请猜数(0~100)整数:'))
    count += 1
if i_num == sys_num:
    print(f'恭喜你,猜数正确!!!共猜数{count}次')
else:
    print('次数用尽, 猜数失败...')
循环关键字
  1. continue和break
"""
continue和break都只能出现在循环中

continue - 每次在执行循环体的时候,如果遇到continue,该次循环直接结束,进入下一次循环
break - 在执行循环体的时候,如果遇到break,那么整个循环直接结束,不会进入下次循环
"""
  • continue
x = 0
while x <= 10:
    print(x, end='\t')
    if x % 2 == 0:
        x += 3
        continue
    x += 1
print()
  • break
for i in range(5):
    if i % 2:
        break
    print(i)
  1. while循环和break
"""
while True:
	需要重复执行的代码
	if 循环结束条件:
		break
"""

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

num = int(input('请输入任意一个正整数:'))
count = 0
while num:
    num //= 10
    count += 1
print(count)
  1. else
"""
完整循环结构

1)完整for循环
for 变量 in 序列:
	循环体
else:
	代码段
	
2)完整的while循环
while 条件语句:
	循环体
else:
	代码段
	
else的作用:
else的存在不会影响原来循环的执行;
如果循环是自然结束(由while后面条件不成立而结束循环), 则顺序执行else后面代码段,否则不执行else后面代码段
"""
for x in range(5):
    print(x, end='\t')
    break
else:
    print('+++++++')

练习:判断指定的数是否是素数(质数)

num = 6
if num <= 1:
    print('不是素数')
elif num == 2 or num == 3:
    print('素数')
else:
    for i in range(int(num ** 0.5), num - 1):
        if not (num % i):
            print('不是素数')
            break
    else:
        print('素数')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值