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