day5.while和循环关键字学习总结

1.求和与统计个数

1.求和套路

案例:求1+2+3+4…+100

第一步:先定义一个变量保存最后的和,默认是0

s = 0

第二步:通过for循环将需要求和的所有数全部取出来

for x in range(1, 101):

第三步:在循环体中,获取到一个数据,就往保存最后和的变量中加一个

s += x

第四步:循环结束后保存最后和的变量中的数据就是最后要求的结果

print(s)

案例:求所有同学的总分和

scores = [78, 34, 56, 90, 78, 89, 88, 60, 91]
total_scores = 0
for x in scores:
    total_scores += x
print(total_scores)

# 练习1:求2+4+8+..+50的和
scores = 0
for x in range(2, 51, 2):
    scores += x
print(scores)

# 练习2:求1~100中所有能被3整除但是不能被7整除数的和
s = 0
for x in range(3, 101, 3):
    if x % 7 != 0:
        s += x
print(s)

2.统计个数

案例:统计 nums中偶数的个数

nums = [78, 34, 56, 90, 78, 89, 88, 60, 91]

第一步:定义变量保存最后的个数,默认值是0

count = 0

第二步:通过循环获取所有的统计对象

for x in nums:

第三步:得到一个统计对象,个数就加一

if x % 2 == 0:
   count += 1
print(count)

2. while循环

语法:

while 条件语句:

​ 循环体

执行过程:

不断判断条件语句是否为True,为True就执行循环体,如果为False整个循环直接结束。

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

案例:打印 2 3 4 5 6 7 8 9

x = 2
while x <= 9:
    print('x:', x)
    x += 1

案例:打印 3 2 1 0 -1 -2

# 练习1:使用while循环打印:-5 -3 -1 1 3
x = -5
while x <= 3:
    print('x:', x)
    x += 2
# 练习2:使用while循环打印: 2 4 8 16 32 64
x = 2
while x <= 64:
    print('x:', x)
    x *= 2
# 练习3:使用while循环统计:100 ~ 300中能被5整除但是不能3整除的数的个数
x = 100
count = 0
while x <= 300:
    if x % 5 == 0 and x % 3 != 0:
        count += 1
    x += 1
print(count)

3. 循环关键字

continue、break、else

1. continue、break

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

for x in range(3):
    print(1)
    print(2)
    continue
    print(3)
for x in range(10):
    if x % 2 == 0:
        continue
    print(x)

break —— 结束整个循环(执行循环体的时候如果遇到了break,那么整个循环直接结束-循环体剩下的部分不执行,也不再进入下次循环)

for x in range(3):
    print(1)
    print(2)
    break
    print(3)

for x in range(101, 200):
    if x % 11 == 0:
        break
    print(x)
2. for和while选择

for循环能做的while都可以做,while能做到的事情for不一定能做到;但是for更简单。

使用建议︰能用for解决的问题都用for,for解决不了的问题用while。

​ 如果循环次数确定就使用for循环;如果循环次数不确定就使用while。

使用套路:

while True:

​ 需要重复执行//(提示用户输入密码)

​ if 循环结束条件://(输入的密码和保存的密码相等)

​ break

pw = '123abc'
while True:
    value = input('请输入密码:')
    if value == pw:
        break
print('登录成功!')    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值