Python100day- 03day- for循环

Python100day day -3 for循环

python中的循环有两种: for 循环和 while 循环

1.for循环

语法:

for 变量 in 序列:

​ 循环体

说明:

a.for/in - 关键字;固定写法

b.变量 - 可以是任意变量;一般写一个新的变量

c.序列 - python中的容器型类型,列如:字符串、列表、字典、元组、集合、迭代器、生成器、range等

d.冒号 -固定写法

e.循环体 - 和for保持缩进的一条语句或者很多条语句;循环体就是需要重复执行的代码块

执行过程:

让变量去序列中取值,一个一个的取,取完为止;每取一个值执行一次循环体。(for循环的次数看序列中元素的个数)

for x in 'abcfr':
    print(x, 'hello')
# a hello
# b hello
# c hello
# f hello
# r hello
range的用法

1)range(N) - 产生一个 0 ~ N-1 的数字序列:0,1,2,…,N-1(N必须是正整数)

2)range(M, N)- 产生M~N-1的数字序列:M,M+1,M+2,M+3,…N-1(M和N必须都是整数并且M小于N)

3)range(M, N,step) - step是控制每次增加的量(默认值是1):M,M+step,M+2×step,M+3×step,…

for x in range(10):
    print('x', x)
# 打印结果
# x 1
# x 2
# x 3
# x 4
# x 5
# x 6
# x 7
# x 8
# x 9  
for y in range(10, 20):
    print('y', y)

# 计算0~100中的偶数    
for z in range(0, 100, 2):
    print('z', z)
# 计算0~100中的奇数
for m in range(1, 100, 2):
    print('m', m)

练习:产生100到1所有数字对应的序列
for k in range(100, 0, -1):
    print('k', k)

求和套路:计算1+2+3+…+100的和
sum1 = 0
for num in range(1, 101):
    sum1 = sum1 + num
print(sum1)

统计个数:统计0~100中能够被3整除的偶数的个数
ount = 0 # 定义一个变量保存最后的个数
for num in range(0, 101):
    if num % 3 == 0 and num % 2 == 0:
        count += 1
print(count)
练习1:求1000以内能被7整除但是不能被3整除的数的和
sum1 = 0
for num in range(1, 1001):
    if num % 7==0 and num % 3!= 0:
        sum1 = sum1 + num
print(sum1)
练习2:统计1000以内十位数加上个位数的和等于5的数的个数
count = 0
for x in range(1000):
    shi = x % 100 // 10
    ge = x % 10
    if shi + ge == 5:
        count += 1
print(count)
2.while循环

语法:
while 条件语句:
循环体

说明:
while - 关键字;固定写法
条件语句 - 除了赋值语句以外的任意表达式
冒号 - 固定写法
循环体 - 和while保持缩进的一条或者多条语句
循环体就是需要重复执行的代码块
执行过程:- 先判断条件语句是否为True,为True就执行循环体,
执行完再判断条件语句是否为True,为True再执行循环体
…以此类推,知道条件语句的结果为False整个循环就结束
while 控制次数的套路:

变量 = 0
while 变量 < 次数:
需要重复执行的操作
变量 += 1

num = 0
while num < 5:
    print('====')
    num += 1
for循环和while循环的选择

什么时候能用for循环:
1)遍历序列(将序列中的元素一个一个取出来)
2)循环次数确定

什么时候用while循环
1)死循环
2)循环次数不确定

while True:
   pass
练习:写程序实现不断输入数据,知道输入的内容为0为止
value = 1
while value != '0':
    value = input('请输入:')
   
3.continur和break

continue 和 break 只能在循环体中使用

1).continue - 结束一次循环
如果在执行循环体的时候遇到了 continue ,那么当次循环结束直接进入下次循环

for x in range(5):
    print('===')
    continue
    print('+++')

2).break - 结束整个循环
如果执行循环体的时候遇到了break,那么整个循环直接结束

num = 0
while num < 5:
    print('===')
    break
    print('+++')
    num += 1
print('end')

um = 0
sum1 = 0
while True:
    sum1 += num
    if sum1 > 1000:
        break
    num += 1
print(num, sum1)

3).while循环的用法

while True:
if 需要执行的条件:
break

from random import randint
# 猜数字游戏:
'''
随机产生一个数字:num, 用户不断输入数字直到输入的值和产生的随机数相等游戏结束
num = 35 
请输入一个整数(0~100):50
大了,请再猜!
请输入一个整数(0~100):49
小了,请再猜!
请输入一个整数(0~100):35
恭喜你!猜对了

'''
# randint(M, N)
print('数字游戏:')
num = randint(1, 50)
while True:
    value = int(input('请输入一个整数(1,50):'))
    if value == num:
        print('恭喜你!猜对了!')
        break
    elif value > num:
        print('大了,在小点')
    else:
        print('小了,再大点')

4.完整的for循环和while循环
'''
for 变量 in 序列:
    循环体
else:
    代码块
    
    
while 条件语句:
    循环体
else:
    代码块

else不影响原循环的执行;else后面的代码块在循环正常结束的时候会执行,
如果循环是因为遇到break而结束的,else后面的代码块就不会执行


for x in range(5):
    if x == 4:
        break
    print('===')
else:
    print('+++')
'''
num = int(input('输入一个整数:'))
count = 0
while num:
    num //= 10
    count += 1
print(count)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值