for 变量 in 序列:
循环体
for x in 'abc':
print('hello world!')
range函数可以理解为创建等差数列
产生等差数列[0,N),差是1;range(5):0,1,2,3,4
for x in range(5):
print(x)
产生等差数列[M,N),差是1;range(5,10):5,6,7,8,9
for x in range(5, 10):
print(x)
产生等差数列[M,N),差是step;range(1,20,3):1,4,7,10,13,16,19
for x in range(1,20,3):
print(x)
第一步:定义变量保存结果(最后的和),变量默认值为0
第二步:利用循环获取每一个求和对象,然后和保存的变量进行加法运算
第三部:循环结束后,变量的值就是最后的和
求1+2+3+4+…+100
sum1 = 0
for x in range(1, 101):
sum1 += x
print(sum1)
求列表[89,67,45,99,55,71,80,92]中所有元素的和
nums = [89, 67, 45, 99, 55, 71, 80, 92]
sum1 = 0
for x in nums:
sum1 += x
print(sum1)
求nums中所有奇数的和
nums = [18, 9, 45, 77, 90, 82, 50, 51]
nums = [18, 9, 45, 77, 90, 82, 50, 51]
sum1 = 0
for x in nums:
if x % 2 != 0:
sum1 += x
print(sum1)
第一步:定义变量保存最后的个数,变量默认值是0
第二步:利用循环获取到每一个统计对象,取到一个个数就加1
统计nums中元素的个数
nums = [19, 34, 78, 89, 22, 15, 55]
count = 0
for x in nums:
count += 1
print(count)
统计nums中偶数的个数
nums = [19, 34, 78, 89, 22, 15, 55]
count = 0
for x in nums:
if x % 2 == 0:
count += 1
print(count)
统计100以内能被3整除的数的个数
# 方法1
count = 0
for x in range(0, 100):
if x % 3 == 0:
count += 1
print(count)
count = 0
# 方法2
for x in range(0, 100, 3):
count += 1
print(count)
统计所有的水仙花数的个数
count = 0
for x in range(100, 1000):
if x == ((x % 10) ** 3 + (x // 10 % 10) ** 3 + (x // 100) ** 3):
count += 1
print(x)
print(count)
while 条件语句:
循环体
不断的判断条件语句是否为True,如果为True就执行循环体,为False循环结束
x = 0
while x < 5:
print('hello world!')
x += 1
如果遇到了循环的问题,优先考虑使用for循环,for循环解决不了才使用while
for的应用场景 :循环次数确定
while的应用场景:循环次数不确定(写代码的时候程序员无法知道循环的次数)
变量 = input (输入提示信息)
提示用户输入数据,并且将用户输入的数据保存到指定的变量中(输入以回车结束)
输入函数后默认输入得到的结果为字符串
print(100) # 程序输入,控制台显示
name = input('请输入姓名:')
print(name)
提示用户输入密码,直到输入正确为止
pw = '123456'
value = None
while value != pw:
value = input('请输入密码:')
break是循环关键字,只能在循环体中使用
结束整个循环(执行循环体的时候如果遇到break,循环直接结束)
同时当前的循环后面的结束,并且不再循环
for x in range(10):
if x >= 4:
break
print('hello')
while Ture :
需要重复执行的操作
if 循环结束条件:
break
示例:
pw = 'abc123'
while True:
value = input('请输入密码:')
if value != pw:
print('输入错误!')
else:
print('输入正确!')
break