1.for、循环和range函数
1.for循环
for 变量 in 序列:
循环体
for x in 'abc':
print('hello world')
2.range函数
创建等差数列
1)range(N)
产生等差数列[0, N),差是1;0——N-1
2)range(M, N)
产生等差数列[M, N),差是1;M——N-1
3)range(M, N, step)
产生等差数列[M,N), 差是step;M、M+step、M+setp乘2、M+setp乘3、…
# 例如
for x in range(10):
print(x)
print('------------------------------------------华丽的分割线-------------------')
for x in range(5, 10):
print(x)
print('------------------------------------------华丽的分割线-------------------')
for x in range(1, 20, 3):
print(x)
- 练习:使用range函数创建以下几个等差数列
# 1) 0,1,2,3,...,10
for x in range(11):
print(x)
# 2)50,51,52,53,...,59
for x in range(50, 60):
print(x)
# 3)50,60,70,80,90
for x in range(50,100,10):
print(x)
# 4) 20, 18, 16, 14, 12, 10
for x in range(20, 9, -2):
print(x)
3.求和及统计个数
求和套路
第一步:定义变量保存结果(最后的和),变量默认值为0
第二步:利用循环获取每一个求和对象,然后和保存和的变量进行加法运算
第三步:循环结束后,变量的值就是最后的和
- 案例1: 求1+2+3+4+…+100
sum1 = 0
for x in range(1, 101)
sun1 += x
print(sum1)
- 案例2:求列表[89, 67, 45, 99, 55, 71, 80, 92]中所有元素的和
nums = [89, 67, 45, 99, 55, 71, 80, 92]
num = 0
for x in nums:
num += x
print(num)
- 案例3: 求整数中所有三位数的和
# 100 + 101 + 102 + 103+...+ 999
sum = 0
for x in range(100, 1000):
sum += x
print(sum)
- 案例4: 求100以内所有偶数的和
sum = 0
for x in range(0, 100, 2):
sum += x
print(sum)
- 案例5:求nums中所有奇数的和
num = [18, 9, 45, 77, 90, 82, 50, 51]
for x in mun:
if x % 2 != 0:
sum += x
print(sum)
统计个数
第一步:定义变量保存最后的个数,变量默认值是0
第二步:利用循环获取到每一个统计对象,取到一个个数就加1
- 案例1:统计nums中元素的个数
nums = [19, 34, 78, 89, 22, 15, 55]
lt = 0
for x in nums:
lt += 1
print(count)
- 案例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: 统计100以内能被3整除的数的个数
# 方法1
lt = o
for x in range(0,100,3):
lt += 1
print(lt)
# 方法2
lt = 0
for x in range(0, 100):
if x % 3 == 0:
lt += 1
print(lt)
- 案例4: 统计所有的水仙花数的个数
lt = 0
for x in range(100, 1000):
if (x % 10) **3 + (x //10 % 10) ** 3 + (x // 100) ** 3 == x:
print(x)
lt += 1
print(lt)
2.while循环
1.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!
…
2.for 和while的选择问题
如果遇到了循环的问题,优先考虑使用for循环,for循环解决不了才使用while。
for的应用场景:循环次数确定
while的应用场景:循环次数不确定(写代码的时候程序员无法知道循环的次数)
3.input函数
输入函数
变量 = input(输入提示信息) - 提示用户输入数据,并且将用户输入的数据保存到指定的变量中(输入以回车结束)
输入的数据默认都是字符串
- 案例:提示用户输入密码,知道输入正确为止
pw = '121222'
value = None
while pw != value:
value = input('请输入密码:')
'''
请输入密码: 123
请输入密码: abc
请输入密码: 567871
...
请输入密码: 123456
'''
# 直至输入密码正确为止
3.break关键字
1.break
break是循环关键字,只能在循环体中使用
作用:结束整个循环(执行循环体的时候如果遇到break,循环直接结束)
for x in range(5):
print('qwer')
print('asdf')
break
print('zxcv') # 只执行第二条和第三条指令各一次
for x in range(10):
if x >= 4:
break
print('week')
# 循环四次week
2.while遇到break
while True:
需要重复执行的操作
if 循环结束条件:
break
- 案例
pw = '123qwe'
while True:
value = input('请输入密码:')
if value == pw:
break # 密码输入正确就结束循环