一、for 循环
1、for 循环
for 变量 in 序列:
循环体
for i in 'abc':
print('hello world!')
2、range 函数
—— 用来创建等差数列
1)range(N) —— 产生等差数列[0,N),差是1;
range(5) -> 0,1,2,3,4
2)range(M, N) —— 产生等差数列[M,N),差是1;
range(5, 10) -> 5,6,7,8,9
3)range(M, N, step) —— 产生等差数列[M,N), 差是step;
range(1, 20, 3) -> 1,4,7,10,13,16,19
print('-----------------------')
for i in range(10):
print(i)
print('-----------------------')
for i in range(5, 10):
print(i)
print('-----------------------')
for i in range(1, 20, 3):
print(i)
print('-----------------------')
for i in range(0, 100, 2):
print(i)
print('-----------------------')
# 10,9,8,7,6,5,4,3,2,1,(0)
for i in range(10, 0, -1):
print(i)
# 练习:使用range函数创建以下几个等差数列:
# 1) 0,1,2,3,...,10,(11)
for i in range(11):
print(i)
# 2) 50, 51, 52, ..., 59,(60)
for i in range(50, 60):
print(i)
# 3) 50, 60, 70, 80, 90
for i in range(50, 91, 10):
print(i)
# 4) 20, 18, 16, 14, 12, 10
for i in range(20, 9, -2):
print(i)
3、用来求和或统计个数
1)求和
第一步:定义变量保存结果(最后的和),变量默认值为0
第二步:利用循环获取每一个求和对象,然后和保存和的变量进行加法运算
第三步:循环结束后,变量的值就是最后的和
# 案例1:求1+2+3+4+...+100
sum1 = 0
for i in range(1, 101):
sum1 += i
print(sum1)
# 案例2:求列表[89, 67, 45, 99, 55, 71, 80, 92]中所有元素的和
nums = [89, 67, 45, 99, 55, 71, 80, 92]
sum1 = 0
for i in nums:
sum1 += i
print(sum1)
# 练习1:求整数中所有三位数的和
# 100 + 101 + 102 + 103+...+ 999
sum1 = 0
for i in range(100, 1000):
sum1 += i
print(sum1)
# 练习2:求100以内所有偶数的和
# 0+2+4+6+...+98
sum1 = 0
for i in range(2, 99, 2):
sum1 += i
print(sum1)
# 练习3:求nums中所有奇数的和
nums = [18, 9, 45, 77, 90, 82, 50, 51]
# 9+45+77+51
sum1 = 0
for i in nums:
if i % 2 != 0:
sum1 += i
print(sum1)
2)统计个数
第一步:定义变量保存最后的个数,变量默认值是0
第二步:利用循环获取到每一个统计对象,取到一个个数就加1
# 案例1:统计nums中元素的个数
nums = [19, 34, 78, 89, 22, 15, 55]
count = 0
for i in nums:
count += 1
print(count)
# 案例2:统计nums中偶数的个数
nums = [19, 34, 78, 89, 22, 15, 55]
count = 0
for i in nums:
if i % 2 == 0:
count += 1
print(count)
# 练习1: 统计100以内能被3整除的数的个数
# 3 6 9 12 15 ...99
# 方法1
count = 0
for i in range(0, 100, 3):
count += 1
print(count)
# 方法2:
count = 0
for i in range(0, 100):
if i % 3 == 0:
count += 1
print(count)
print('---------------------------------')
# 练习2: 统计所有的水仙花数的个数
# 100, 101, 102,...,999
count = 0
for i in range(100, 1000):
j = (i % 10) ** 3 + (i // 10 % 10) ** 3 + (i // 100) ** 3
if j == i:
print(i)
count += 1
print(count)
二、while 循环
语法:
while 条件语句: 循环体执行过程:
不断的判断条件语句是否为True,如果为True就执行循环体,为False循环结束。
x = 0
while x < 5:
print('hello world!')
x += 1
"""
x=0: while x < 5 -> while 0 < 5 -> while True -> print('hello world!'); x += 1 -> x = 1
x=1: while x < 5 -> while 1 < 5 -> while True -> print('hello world!'); x += 1 -> x = 2
...
x=5: while x < 5 -> while 5 < 5 -> while False -> 循环结束
hello world!
hello world!
...
"""
for 和 while 的选择问题
如果遇到了循环的问题,优先考虑使用 for 循环,for 循环解决不了才使用 while。
for的应用场景:循环次数确定
while的应用场景:循环次数不确定(写代码的时候程序员无法知道循环的次数)
input 函数 —— 输入函数
变量 = input(输入提示信息) —— 提示用户输入数据,并且将用户输入的数据保存到指定的变量中(输入以回车结束)
输入的数据默认都是字符串
name = input('请输入姓名:')
print(name)
# 将输入的年龄转换成整型再赋值给age
age = int(input('请输入年龄:'))
print(age, age >= 18)
'''
请输入姓名:hj
hj
请输入年龄:22
22 True
'''
# 案例:提示用户输入密码,知道输入正确为止
pw = '123456'
value = None
while pw != value:
value = input('请输入密码:')
'''
请输入密码:123
请输入密码: abc
请输入密码:56712
...
请输入密码:123456
'''
三、break 关键字
—— break 是循环关键字,只能在循环体中使用
break 的作用: 结束整个循环(执行循环体的时候如果遇到break,循环直接结束)
for x in range(5):
print('+++++')
print('-----')
break
print('=====')
print('---------end------------')
for x in range(10):
if x >= 4:
break
print('hello!')
while 遇到 break
while True:
需要重复执行的操作
if 循环结束条件:
break
pw = 'abc123'
while True:
value = input('请输入密码:')
if value == pw:
break
4303

被折叠的 条评论
为什么被折叠?



