day 3 note for循环 和 while
01. for循环
1. for循环 (让代码重复执行)
语法:
for 变量 in 序列:
循环体
说明:
1) for - 关键字;固定写法
2) 变量 - 和定义变量的时候变量名的要求和规范一样(如果这个变量在循环体中不使用,变量名可以用_代替)
3) in - 关键字:固定写法
4) 序列 - python中容器型数据类型,例如:字符串、列表、元组、集合、字典、迭代器、生成器、range等…
5) 冒号 : - 固定写法
6) 循环体 - 和for保持一个缩进的一条或者多条语句;需要重复执行的代码
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
(for循环的执行次数,看序列中元素的个数)
for x in ' a b c ':
print(x, 'hello world!')
2. range函数 - 产生指定范围的数字序列
(1). range(N) - 产生一个[0, N) 的数字序列(N是正整数);例如:range(4) - 产生 0、1、2、3 的数字序列
for x in range(4):
print('x1:', x)
(2). range(M, N) - 产生一个[M, N) 的数字序列(M<N,并且M和N是整数);例如:range(-3, 3) - 产生: -3、-2、-1、0、1、2
for x in range(-3, 3):
print('x2:', x)
(3) range(M, N, step) - 产生一个[M, N)的数字序列,每次数值增加step;例如:range(-3, 3, 2) - 产生:-3、-1、1
for x in range(-3, 3, 2):
print('x3:', x)
练习1: 计算1+2+3+4+...+100的和
sum1 = 0
for x in range(1, 101):
sum1 += x
print('和:', sum1)
"""
sum1 = 0
(x -> 1 ~ 100)
x = 1: sum1 += x -> sum1 = sum1 + x -> sum1 = 0 + 1 = 1
x = 2: sum1 += x -> sum1 = sum1 + x -> sum1 = 1 + 2
x = 3: sum1 += x -> sum1 = sum1 + x -> sum1 = 1+2 + 3
x = 4: sum1 = 1+2+3+4
....
x = 100: sum1 = 1+2+3+4+...+ 100
print(sum1) -> print(5050)
"""
练习2:统计1000以内能够被3整除的数的个数
方法一:
count = 0 # 保存最终的个数
for x in range(1000):
if x % 3 == 0:
count += 1
print('个数:', count)
方法二:
count = 0
for x in range(0, 1000, 3):
count += 1
print('个数:', count)
练习3:打印1000以内能够被3整除并且个位数是2的所有的数
方法一:
for x in range(1000):
if x % 3 == 0 and x % 10 == 2:
print(x, end=' ')
print()
方法二:先生成1000以内所有3的倍数,然后再看3的倍数中谁的个位数是2
for x in range(0, 1000, 3):
if x % 10 == 2:
print(x, end=' ')
print()
方法三:先生成1000以内所有个位数是2的数,然后再看个位数是2的数中谁可以被3整除
2 12 22 32 42 52 ... 92 102 112 ...
for x in range(2, 1000, 10):
if x % 3 == 0:
print(x, end=' ')
print()
02. while循环
1.while 循环 ( 让代码重复执行 )
语法:
while 条件语句:
循环体
说明:
1)while - 关键字;固定写法
2 条件语句 - 任何有结果的表达式都可以(赋值语句不行)
3 冒号 : - 固定写法
4 循环体 - 和while保持一个缩进的一条或者多条语句;需要重复执行的代码
执行过程:
先判断条件语句是否为True, 如果是就执行循环体,执行完再判断条件语句是否为True;
为True又执行循环体,执行完再判断条件语句是否为True …
以此类推, 如果条件语句的结果是False循环就结束
练习:打印5次 'hello world!'
x = 0
while x < 5:
print('hello world!')
x += 1
"""
x = 0
while 0 < 5: print('hello world!'); x += 1 -> x = 0+1 = 1
while 1 < 5: print('hello world!'); x += 1 -> x = 1+1 = 2
while 2 < 5: print('hello world!'); x += 1 -> x = 2+1 = 3
while 3 < 5: print('hello world!'); x += 1 -> x = 3+1 = 4
while 4 < 5: print('hello world!'); x += 1 -> x = 4+1 = 5
while 5 < 5: 循环结束!
"""
2.for循环和while循环的选择
如果循环次数确定的就使用for循环; 如果循环次数不确定就使用while循环
练习:写程序让客户不断输入内容,直到输入的内容是0为止
input('请输入:')
value = 'start'
while value != '0':
value = input('请输入:')