循环
说明:循环结构 —— 可以让代码重复执行 (代码写一遍,执行多次)
1.for循环
语法
for 变量 in 序列:
? 循环体
其他代码
说明
for、in —— 关键字;固定写法
变量 —— 变量名(可以是已经定义过的变量的变量名,也可以是没有定义的)
序列 —— 序列就是python中容器型数据类型对应的数据;例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
: —— 固定写法
循环体 —— 和for保持一个缩进的一条或者多条语句(至少1个条件;可以用pass和print占位);循环体就是会被重复执行的代码
执行过程
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
for循环的循环次数和序列中的元素的个数有关
for i in 'ab':
print(i)
'''
a
b
'''
range函数 —— 产生一个等差数列
1)range(N) —— 产生[0,N),差值为1的等差数列(N必须为正整数)
for i in range(4):
print(i) #0,1,2,3
2)range(M,N) —— 产生[M,N),差值为1的等差数列(M<N)
for i in range(2,6):
print(i)
3)range(M,N,step) —— 产生[M,N),差是step的等差数列
for i in range(10,6,-1):
print(i)
求和套路
1)定义一个变量保存最后的和,变量默认值为0
2)通过循环获取到要求和的数据
3)取到一个数据就往保存和的变量中加一个数据
sum=0
for i in range(1,101):
sum+=i
print(sum)
s=0
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
for i in scores:
s+=i
print(s)
统计个数
1)定义一个变量保存最后的个数,默认值为0
2)通过循环获取统计对象
3)判断获取到的对象是否符合个数加1的条件
count=0
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
for i in scores:
if i<60:
count+=1
print(count)
count=0
for i in range(1,100):
if i%3==0:
count+=1
print(count)
"""
for i in range(3,100,3):
count+=1
print(count)
"""
sum=1
for i in range(2,21,2):
sum*=i
print(sum)
sum1=0
for i in range(101):
if i%3==0 and i%5!=0:
sum1+=i
print(sum1)
'''
for i in range(3,101,3):
if i%5!=0:
sum1+=i
print(sum1)
'''
2.while循环
语法
while 条件语句:
? 循环体
其他代码
说明
while —— 关键字;固定写法
条件语句 —— 任何有结果的表达式,比如:具体的数据、已赋值过的变量、运算表达式(赋值运算除外)
: —— 固定写法
循环体 —— 和while保持一个缩进的一条或多条语句(至少一条);循环体就是需要重复执行的代码
执行过程
先判断条件语句是否为True,如果为True就执行循环体,执行完再判断条件语句是否为True,为True又执行循环体…以此类推,如果判断条件语句的结果是False就结束循环
for和while的选择
如果循环次数确定就使用for循环;循环次数不确定就使用while循环
i =int(input('请输入一个数:'))
while i!=0:
i =int(input('请输入一个数:'))
import random
i =random.randint(0,100)
j=int(input('请输入一个0~100的数:'))
while i!=j:
if i>j:
print('小了')
j=int(input('请输入一个0~100的数:'))
else:
print('大了')
j=int(input('请输入一个0~100的数:'))
print('恭喜你,猜对了')
|