03-循环

# 循环
# 可以借助程序来解决某一类重复、繁琐的事情。
# 循环涉及的关键字:for、in、while、break、continue、else

# for循环:
"""
语法:
for 变量 in 容器:
    代码块
"""
# range()
# 计算1-100的和
# 容器中元素个数决定了for循环次数
# range(1, 101):左闭右开区间,生成[1,101)中的所有的整数
sum = 0
for i in range(1, 101):
    # print(i)
    sum += i
print(sum)

# range(M,N,step) :M是范围的起点,N是范围的终点,step是步长,默认值为1,可以不写。
# range(1,11):获取1-10十个元素。
# range(1,11,3):获取1、4、7、10四个元素
# range(10):获取0-9十个元素
# range(12,4):获取不到元素
# range(0,10,-1):获取不到元素
# range(11,1,-1):从11取到2,一共10个元素

# a.步长step决定了下一个元素获取谁,当前元素 + step = 下一个元素
# b.如果range中只有一个数字x,并且x大于0的,代表从0获取到x-1,此时x等于结束范围N,0等于开始范围M
# c.如果step>0的,M<N;如果step<0的,M>N;
for i in range(1, 6):
    print(i)
print('-------------------------')
for i in range(1, 6, 5):
    print(i)
print('-------------------------')
for i in range(1, 6, -1):
    print(i)
print('-------------------------')
for i in range(0, -10, -3):
    print(i)

# 练习:通过修改步长,计算100以内2的倍数的和
sum = 0
for i in range(2, 101, 2):
    sum += i
print(sum)

# 练习:计算100的阶乘。
total = 1
for i in range(2, 101):
    total *= i
print(total)
# while循环
# for适合循环次数确定的循环。
# while既适合循环次数确定的循环,又适合循环次数不确定的循环。
"""
while语法

while 条件:
    代码块
"""
# 1.计算1-100的和
sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(sum)

# 2.猜数字游戏。如果猜的数字比较大,提示再小一点;如果猜的数字比较小,提示再大一点;
# 如果猜对了,程序结束;如果7次之内猜不对,提示智商有限。
import random

# 随机模块random
# randint(a,b) :表示从[a,b]中随机生成一个整数
num = random.randint(1, 100)
# print(num)
flag = True
count = 0
while flag:
    num1 = int(input('请输入你猜的数字:'))
    count += 1
    if num1 > num:
        print('再小一点')
    elif num1 < num:
        print('再大一点')
    else:
        print('猜对了')
        flag = False
if count > 7:
    print('智商有限')
# break:break被触发,直接结束所在循环
# continue:continue被触发,直接跳出所在循环的当次循环,进入下一次循环

for i in range(1, 101):
    if i % 5 == 0:
        print('****')
        # break
        continue
        print('====')
    else:
        print(i)
# -----------------
i = 1
while True:
    i += 1
    if i == 50:
        break
    print(i)
# for-else
"""
for-else循环语法:

for 变量 in 容器:
    代码块
else:
    代码块

for-else循环适用于所有可能考虑完才能得到某一结论的场景。

for循环正常结束之后,else语句被触发;如果for循环非正常结束,else语句不会被触发。
"""
# 案例:找出100以内所有的素数。
# 只有1和本身两个因子的正整数叫做素数。
for i in range(2, 101):
    if i == 2:
        print('2是素数')
    else:
        for j in range(2, i):
            if i % j == 0:
                print(f'{i}不是素数')
                break
        else:
            print(f'{i}是素数')

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值