day4-循环
4.1 for循环
"""
语法:
for 变量 in 序列:
循环体
说明:
for、in - 关键字;固定写法
变量 - 变量名(可以是已经定义过的变量的变量名,也可以是没有定义)
序列 - 序列就是Python中容器型数据类型对应的数据;例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
: - 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句(至少1条件); 循环体就是会被重复执行的代码
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
for循环循环次数和序列中元素的个数有关
"""
for x in 'abc12':
print(x, '====')
"""
执行过程:
x = 'a' - print(x, '====') -> print('a', '====')
x = 'b' - print(x, '====') -> print('b', '====')
...
"""
for x in 'abc12':
print(x, '====')
print('+++++++')
for x in range(100):
print('hello')
4.2 range函数
"""
1) range(N) - 产生[0, N),差是1的等差数列(N必须是正整数)。range(3) - 0,1,2; range(11) - 0,1,2,3,4,5,6,7,8,9,10
2) range(M, N) - 产生[M, N),差是1的等差数列(M<N)。range(2, 6) - 2,3,4,5; range(100, 1000)
range(-3, 3) - -3,-2,-1,0,1,2
3) range(M, N, step) - 产生[M, N),差是step的等差数列。
range(10, 4, -1) - 10, 9, 8, 7, 6, 5
range(1, 10, 2) - 1,3,5,7,9
"""
for x in range(11):
print(x)
print('=====================================================')
for x in range(-3, 3):
print(x)
print('=====================================================')
for x in range(1, 10, 2):
print(x)
sum1 = 0
for x in range(1, 101):
sum1 += x
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
total = 0
for x in scores:
total += x
print('总分:', total)
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
count = 0
for x in scores:
if x < 60:
count += 1
print('不及格人数:', count)
count = 0
for x in range(1, 100):
if x % 3 == 0:
count += 1
print('被3整除的数的个数:', count)
count = 0
for x in range(3, 100, 3):
count += 1
print('被3整除的数的个数:', count)
total = 1
for x in range(2, 21, 2):
total *= x
print(total)
total = 0
for x in range(1, 100):
if x % 3 == 0 and x % 5 != 0:
total += x
print(total)
total = 0
for x in range(3, 100, 3):
if x % 5 != 0:
total += x
print(total)
4.3 while循环
"""
语法:
while 条件语句:
循环体
其他代码
说明:
while - 关键字;固定写法
条件语句 - 任何有结果的表达式,比如:具体的数据、已经赋值过的变量、运算表达式(赋值运算除外)
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(至少一条); 循环体就是需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完再判断条件语句是否为True,为True又执行循环体...
以此类推,如果判断条件语句的结果是False循环就结束。
"""
for x in range(1, 6):
print(x)
num = 1
while num < 6:
print(num)
num += 1
num = 0
while num < 100:
print('hello')
num += 1
"""
请输入一个数: 19
请输入一个数: 20
请输入一个数: 8
...
请输入一个数:0
结束!
"""
"""
游戏开始产生一个0~100的随机数,让用户不断输入数字,直到输入的数字和产生的随机相等为止。如果猜错了给出大了或者小了的提示。
45
请输入数字(0~100):50
大了!
请输入数字(0~100):25
小了
请输入数字(0~100):30
小了
请输入数字(0~100):45
恭喜你,猜对了!
"""
import random
value = random.randint(0, 100)
input_num = int(input('请输入数字(0~100):'))
while input_num != value:
if input_num > value:
print('大了!')
else:
print('小了!')
input_num = int(input('请输入数字(0~100):'))
print('恭喜你,猜对了!')