day4循环

一、for循环和range函数

1.for循环
# 语法;
for 变量 in 序列:
	循环体
    
for x in 'abcd'
	print('你好')
    
# 你好
# 你好
# 你好
# 你好
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(5,10,3):1,4,7,10,13,16,19
for x in range(5):
    print(x)
    
# 0
# 1
# 2
# 3
# 4

for x in range(5, 10):
    print(x)
    
# 5
# 6
# 7
# 8
# 9

for x in range(0, 10, 2):
    print(x)
    
# 0
# 2
# 4
# 6
# 8

练习:使用range函数创建以下几个等差数列:

1)0,1,2,3,…,10

for x in range(11):
    print(x)

2)50, 51, 52, …, 59

for x in range(50, 60):
    print(x)

3)50, 60, 70, 80, 90

for x in range(50, 91, 10):
    print(x)

4)20, 18, 16, 14, 12, 10

for x in range(20, 9, -2):
    print(x)
3.求和和统计个数
1)求和套路

第一步:定义变量保存结果(最后的和),变量默认值为0

第二步:利用循环获取每一个求和对象

第三步:循环结束后,变量的值就是最后的和

案例1:求1+2+3+4+…+100

sum1 = 0
for x in range(1, 101):
    sum1 += 1
print(sum1)

# 5050

案例2:求列表[89, 67, 45, 99, 55, 71, 80, 92]中所以元素的和

nums = [89, 67, 45, 99, 55, 71, 80, 92]
sum2 = 0
for x in nums:
    sum2 += x
print(sum2)

# 598

练习1:求整数中所有三位数的和

sum3 = 0
for x in range(100, 1000):
    sum3 += x
print(sum3)

# 494550

练习2:求100以内所有偶数的和

sum4 = 0
for x in range(100):
    if x % 2 == 0:
        sum4 += X
print(sum4)

# 2450

sum5 = 0
for y in range(0, 99, 2):
    sum5 += y
print(sum5)
# 2450

练习3:求nums中所有奇数的和

nums = [18, 9, 45, 77, 90, 82, 50, 51]

nums = [18, 9, 45, 77, 90, 82, 50, 51]
sum6 = 0
for x in nums:
    if x % 2 != 0:
        sum6 += x
 print(sum6)

#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(0,100):
    if x % 3 == 0:
        count += 1
print(count)

# 34

count = 0
for y in range(3, 100, 3):
    count += 1
print(count)

#33

练习2:统计所以水仙花数的个数

count = 0
for x in range(100, 1000):
    if ((x % 10)**3 + (x // 10 % 10)**3 + (x // 100)**3) == x:
        count += 1
 print(count)

# 4

二、while循环

1.while循环
# 语法:
while 条件语句:
	循环体

执行过程:不断的判断条件语句是否为True,如果为True就执行循环体,为False循环结束

x = 0
while x < 5:
    print('你好')
    x += 1

# 你好
# 你好
# 你好
# 你好
# 你好
2.for和while的选择问题

如果遇到循环的问题,优先考虑使用for循环,for循环解决不了问题才使用while。

for的应用场景:循环次数确定

while的应用场景:循环次数不确定(写代码的时候程序员无法知道循环的次数)

补充:a.input函数 - 输入函数

​ b.变量 = input(输入提示信息) - 提示用户输入数据,并且将输入的数据保存到指定的变量中

​ c.输入的数据默认都是字符串

name = input('请输入姓名:')
print(name)

# 请输入姓名:

将输入的年龄转换成整型再赋值给age

age = int(input('请输入年龄:'))
print(age, age >= 20)

案例:提示用户输入密码,至到输入正确为止

# while 输入密码和保存密码不相等:
# 	  提示用户输入密码

pw = '12345'
value = None
while pw != value:
    value = input('请输入密码:')
    
    
# 请输入密码:123
# 请输入密码:1234
# 请输入密码:12345   # 结束

三、break关键字

1.break - break是循环关键字,只能在循环体中使用

break的作用:结束整个循环(执行循环体的时候如果遇到break,循环直接结束)

for x in range(5):
    print(12)
    print(24)
    break
    print(56)
    
# 12
# 24

for x in range(10):
    if x >= 4:
        break
    print('你好')
    
# 你好
# 你好    
# 你好
# 你好
2.while遇到break
"""
while Ture:
	需要重复执行的操作
    if 循环结束条件:
		break
"""

pw = 'abc123'
while True:
    value = input('请输入密码:')if value == pw:
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值