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('登录成功!')