python-05while 和循环关键字

1、求和套路

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

s=0
for i in range(1,101):
    s=s+i
print(s)
#第一步:先定义一个变量保存最后的和,默认是0;  
s=0
#第二部:通过for循环将需要求和的所有数全部取出来
For x in range(1,101):
	#第三部:在循环体中,获取到一个数据,就向最后求和的变量中加一个
	s+=x
#第四步:循环结束后保存最后的变量中数据就是最后要求的结果
print(s)

案例:求一个班所有学生的总分

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

练习2:求1~100中所有能被3整除但是不能被7整除数的和

s1=0
for i in range(1,101):
    if i%3==0:
        if i%7!=0:
            s1=s1+i
print(s1)

2、统计个数

案列:统计num中偶数的个数

scores=[78,34,56,90,78,89,88,60,91]
#第一步:定义变量保存最后的个数,默认值是0
count=0
#第二部通过循环获取所有的统计对象
for i in scores:
#第三步:得到一个统计对象,个数就加1
	If x % 2==0:
		count += 1
print(count)

3、while 循环

语法:

while 条件语句:

循环体

执行过程:

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

······

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

i=3
while -2<= i:
    print("i",i)
    i=i-1

案列2:打印100以内所有可以被3整除,不可以被2整除的数:

i=1
while i<=100:
    if i%3==0 and i%2!=0:
        print(i)
    i+=1

案列3:打印 2 4 8 16 32 64

x=2
while x<=64:
    print(x)
    x*=2

案列4:使用while循环统计:100 ~ 300中能被5整除但是不能3整除的数的个数

x=300
count=0
while 100<= x:
    if x%5==0 and x % 3!=0:
        count+=1
    x-=1
print(count)

4、循环关键字:continue break else

continue

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

for x in range(3):
    print(1)
    print(2)
    continue
    print(3)
1
2
1
2
1
2
for i in range(10):
    if i % 2 ==0:
        continue
    print(i)
    
# 1   3    5   7    9

break

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

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

5、for 和 while 的选择

for 循环能做到的 while 都可以做到,while 能做到的事情 for 不一定能做到

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

如果循环次数确定,就使用 for 循环;

如果循环次数不确定,就使用 while 。

使用while循环套路:

while True:

需要重复执行的操作

	If 循环结束条件:

	Break

pw="123abc"

While True:

提示用户输入密码

	if 输入的密码==原来保存的密码:

	if value==pw:

		Break
pw="123abc"
while True:
    value=input("请输入密码:")
    if value==pw:
        break
print("密码输入正确,登录成功")

在这里插入图片描述
在这里插入图片描述

from random import randint
num=randint(0,100)
count=0
while count<=6:
    i = int(input("请输入您猜得数字:"))
    if i==num:
        print("恭喜你猜对了")
        break
    if i > num:
        print("大了,再小点")
    else:
        print("小了,再大点")
    count += 1
    
    if 6-count==0:
        print("很遗憾,次数用完了")
        break

    print(f"还剩{6 - count}次,兄弟加油")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值