day 4
循环结构 —— 可以让代码重复执行
1.for循环
语法:
for 变量 in 序列: 循环体
说明:
for、 in —— 关键字、固定写法 变量 —— 变量名(可以是已经定义的,也可以是没有定义的) 最好没有定义 序列 —— 就是python中容器型数据类型对应的数据;例如:字符串、列表、字典、元组 集合,迭代器、生成器、range : —— 固定写法 循环体 —— 和for保持一个缩进的一条或者多条语句(至少一条);循环体就是会被重复执行的代码
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体 for循环循环次数和序列中元素个数有关
2. range函数 —— 产生一个等差数列
用法
1)range(N) ——产生[0,N),差是1的等差数列(N必须是正整数);range(3):0,1,2,
2)range(M,N) ——产生[M,N),差是1的等差数列(M<N)。
3)range(M,N,step)—— 产生[M,N),差是step的等差数列(M<N)
for x in range(3):
print(x)
print('=============')
for x in range(-2, 7):
print(x)
print('=============')
for x in range(2, 6):
print(x)
print('=============')
for x in range(10, 4, -1):
print(x)
print('=============')
for x in range(100):
print(x, end=',')
print('==========')
for x in range(0, 9):
print(x)
2.1.求和套路
1)练习求1+2+3+…+100的和 a.先定义一个变量保存最后的和,变量的默认值是0 b.通过循环获取到要求和的数据
sum = 0
for x in range(1, 101):
sum += x
print('和:', sum)
2)练习:[45,78,90,45,67,100,90,98,76]
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
s = 0
for x in scores:
s += x
print('总分:', s)
2.2.统计个数的套路
1)练习统计不及格学生的个数
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
ge = 0
for x in scores:
if x < 60:
ge += 1
print('不及格人数:', ge)
2)练习:统计100以内能被3整除的个数
count = 0
for x in range(1, 100):
if x % 3 == 0:
count += 1
print('个数::', count)
count = 0
for x in range(3, 100, 3):
count += 1
print('个数::', count)
3)练习:计算248…*20 注意:乘法要注意不能为0 哦
count = 1
for x in range(2, 21, 2):
count *= x
print('和为:', count)
4)练习;计算100以内所有能被3整除但是不能被5整除的数的和
sum1 = 0
for x in range(1, 100):
if x % 3 == 0 and x % 5 != 0:
sum1 += x
print('和为:', sum1)
count = 0
for x in range(3, 100, 3):
if x % 5 != 0:
count += x
print(count)
3.1.while循环
语法:和if一样
while 条件语句: 循环体
说明:
while —— 关键字;固定写法; 条件语句 —— 任何有结果的表达式,比如;具体的数据、已经赋值过的变量、运算表达式(赋值运算除外0) : —— 固定写法 循环体 —— 和while保持一个缩进的一条或者多条语句(至少一条);需要重复执行的代码
执行过程:
当… 的时候就… 先判断条件语句是否为True,如果为True 就执行循环体,执行完再判断条件语句是否为True,为True又执行循环体 依次内推:如果判断结果为False就循环结束
1)练习: 打印1,2,3,4,5
x = 1
while x <= 5:
print(x)
x += 1
2)控制循环100次
num = 0
while num < 100:
print('hello')
num += 1
3.2.for和while的选择
结论:如果循环次数确定就使用for循环; 如果循环次数不确定就用while循环。
1)练习:提示用户输入数据,直到输入的数据为0为止
x=2
while x!=0:
x=int (input('请输入一个数:'))
2)练习:完成猜数字的游戏
规则:游戏开始随机产生一个0-100的随机数 用户输入猜的数字,直到输入的数字和产生的随机数相等为止,如果错了给出大了或者小了提示 中了:结束 没有中:继续
import random
value = random.randint(0, 100)
x = int(input('输入一个数0~100:'))
while x != value:
if x > value:
print('大了')
x = int(input('输入一个数0~100:'))
if x < value:
print('小了')
x = int(input('输入一个数0~100:'))
print('恭喜你!猜对了!')
|