for 变量 in 容器:
循环体
? ?
? ? ? ? ? ?第一步:定义一个变量默认值是0来保存最后的个数
? ? ? ? ? ?第二部:利用循环,一次获取每一个统计对象
? ? ? ? ? ?第三步:遇到一个满足符号统计条件的数据个数载原来的基础上+1
# 1-100 以内的偶数个数
count_even = 0
for i in range(1,101):
if i % 2 == 0:
count_even += 1
print(f"1-100中偶数数量为{count_even}")
# 2)统计1~100中能被3整除但是不能被2整除的数的个数
count_num = 0
for i in range(1,101):
if i % 3 == 0 and i % 2 != 0:
count_num += 1
print("1到100中可以被3整除但不能被2整除个数:", count_num)
# 统计不及格的人数
count_nopass = 0
grades = [89,90,45,66,70,99,20,59]
for i in grades:
if i < 60:
count_nopass += 1
print(f"不及格数量为{count_nopass}")
? ? ? 求grades中所有及格同学分数的和
# 统计所有及格学生的成绩总和
total_score = 0
grades = [89, 90, 45, 66, 70, 99, 20, 59]
for i in grades:
if i >= 60:
total_score += i
print(total_score)
求数字个位数的和
#求nums中所有元素个位的和
sum = 0
nums = [78, 912, 67, 34, 19, 100]
for i in nums:
k = i % 10
sum += k
print(sum)
while 条件语句:
循环体
? ? 条件语句:? ? ? ? ? ??可以是任何有结果的表达式,一般是判断语句
? ? 循环体:?? ? ? ? ? ? ? ?结构上,是和while保持一个缩进的一条或多条语句
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 逻辑上,循环体就是需要重复执行代码
? ? 循环原理:? ? ? ? ? ? ?不断的判断条件语句是否成立(True),如果是就继续执行循环体,否则循? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?环体结束
i=0
while i < 5:
print('hello')
i+=1
?# 练习1:使用while循环打印等差数列5 6 7 8 9 ... 20
# 打印等差数列 5 到 20
end = 20
start = 5
while start <= end:
print(start)
start += 1
print("over")
?# 练习2:使用while循环打印等差数列10 9 8 7 6 ... 0
end2 = 0
start2 = 10
while start2 >= end2:
print(start2)
start2 -= 1
print('over')
?# 练习3:使用while循环统计100以内不能被5整除的数的个数???????
# 练习3:使用while循环统计100以内不能被5整除的数的个数
count = 0
start3 = 1
while start3 <= 100:
if start3 % 5 != 0:
count += 1
start3 += 1
print("100以内不能被5整除的数的个数:", count)
例子: 提示用户输入密码直到用户输入正确为止
value = None
pw = '123456'
while value != pw:
value = input('请输入密码')
for x in range(10):
if x % 2 == 0:
continue
print(x)
执行的结果为 1、3、5、7、9 。 因为遇到continue, 满足x % 2 的结果不进行输出。? ?###continue
是一个控制流语句,用于跳过循环体中剩余的代码,直接进入下一次循环迭代。当 continue
被执行时,程序将跳过循环体中 continue
后面的代码,然后继续下一次循环。
下面是一个简单的例子,演示了 continue
的用法:
for i in range(1, 6):
if i == 3:
continue # 当 i 等于 3 时,跳过本次循环的剩余代码
print("当前值:", i)
print("循环结束")
? ? 执行循环体时如果遇到了break,整个循环直接结束(本次循环没执行的部分不再执行,也不进入下次循环)
for x in range(5,15):
if x % 4 == 0:
break
print(x)
这里的输出结果是: 5 、 6、 7
因为第一个数是5,5对4取余不是0,不进入循环体,输出5。? ?6、7 同样不进入循环体,直接输出, 但是8 ,对4取余为0, 进入循环体, break。结束程序。
while True:
需要重复执行的操作
if 循环结束条件
break
pw = '123456'
while True:
value = input('请输入密码')
if value == pw:
break
from random import randint
system_num =randint(0,100)
attempt = 0
while True:
guess_num = int(input('请输入您所猜想的数字'))
attempt += 1
if guess_num == system_num:
print('恭喜猜对了')
break
elif guess_num > system_num:
print('大了')
else:
print('小了')
if attempt > 3:
print('超过次数')
break
完整的for 循环结构:
for 变量 in 容器:
循环体
else:
代码块
完整的while 循环结构
while 条件语句:
循环体
else:
代码段
判断list中的元素是否都是整数, 如果都是整数就打印‘整数列表’, 否则就打印‘非整数列表’
list = [10, 2.3, 89, 40, 2]
for num in list:
if type(num) != int:
print('非整数列表')
break
else:
print('整数列表')
解析:else和for 在一列时: 遍历列表,进入if循环,进行判断如果数字类型是整数型,不进入循环,再看列表中的下一个数字,再看类型。如果不是整数类型,进入循环体,打印非整数列表,然后结束整个代码。? # 如果都是整数型, 就进入else,说明为整数列表。