立即登录

注册账号

联系我们

2022年4月9日 14:24

3.1 流程控制_循环结构

流程控制 循环结构
# 作用1: for 循环固定次数,配合range来实现

for i in range(5):
    print('安红,俺想你.')

# 作用2: for 生成一个数字序列(等差数列) 也要配合range()
 

for i in range(2,11,2):
    print(i)

# 作用3: for 遍历一个字符串(补充:iterable)
遍历 用字符串中的每一个下标依次索引出字符

s = "abcdef"
for i in s:
    print(i)

# 练习1: 1 - 10 之间所有奇数的立方

for i in range(1,11,2):
    print(i ** 3)

# 练习2: 能否通过判断一个数是否是偶数的形式来打印246810

for i in range(11):
    if  i % 2 == 0:
        print(i,end="")
        print("是偶数")

# 练习3 循环固定次数 用加分算乘法  5 * 20 = 100
# 从0开始+5 ,一直加20次5

a = 0
for i in range(20):
    a = a + 5
print(a)

# 练习4 生成一个数列  用*号打印一个三角形

for i in range(1,8,2):
    print("*" * i)

# 练习5: 1 + 2 + 3 + ... + 100 
 

n = 0 # 初始值
for i in range(1,101):
    n = n + i
print(n)

综合练习: 猜数字小游戏

import random
# 后面要学的知识,可以随机生成一个1,100之间的数
n = random.randint(1,100)
for i in range(10):
    m = input('请输入一个数: ')
    m = int(m)
    if m > n:
        print("猜大了")
    elif m < n:
        print("猜小了")
    else:
        print("猜对了")
        break
# break 中断 continue 跳过
for i in range(1,11):
    print(i,end=" ")
    if i == 5:
        print('程序中断')
        break    
# break 中断 continue 跳过, 后面的语句全部都不执行了,执行下一次循环
for i in range(1,11):
    if i % 2 == 0:
        continue    
    print(i,end=" ")
# 只要条件成立,一直执行
# while 三要素
# 1. 初始值n
# 2. 结束条件
# 3. n进行变化
n = 1 # 初始值
while n < 11: # 结束条件
    print(n,end=" ")
    n = n + 1  # n进行变化

计算 1 + 2 + 3 + ... + 100

# while小练习 1 + 2 + 3 + ... 100
n = 1
s = 0
while n < 101:
    s = s + n
    n = n + 1
print(s)
# 经典循环应用 斐波那契数列  # 黄金分割 0.618   
# 1 1 2 3 5 8 13 # 打印10个
a, b = 0, 1
for i in range(30):
    a, b = b, a + b
    print(a, end=" ")
print(a / b)
# 打印10000以内的斐波那契数列
a, b = 0, 1
while a < 10000:
    a, b = b, a + b
    print(a, end=" ")
print(a / b)
# for循环的嵌套 while True循环 0 - 99
# 打印 字符串 00 99
for i in "0123456789":
    for j in "0123456789":
        print(i + j,end=" ")
# 利用两次循环打印 数字0 - 99
for i in range(10):
    for j in range(10):
        print(i*10+j,end=" ")
#练习题 1 2 3 可以组成多少个不重复两位数? 11(不要) 12 13
for i in range(1,4):
    for j in range(1,4):
        if i != j:
            print(i*10+j,end=" ")
# 练习题: 一个三位数  各个位数的立方相加等于自身. 穷举法(暴力法)
for i in range(1,10):
    for j in range(10):
        for k in range(10):
            if i**3 + j**3 + k**3 == i*100 + j*10 + k:
                print(i*100 + j*10 + k,end=" ")

无限循环 死循环

# while True 无限循环 死循环
# 配合一个条件语句加break
n = 1 # 初始值
while True: # 始终为真
    print(n,end=" ")
    n = n + 1  # n进行变化
    if n > 100:  # 把三要素中的结束条件写在语句中
        break    # 通过break结束循环

# 高级阶段会涉及的内容 while 触发一个异常来结束
# 想办法让它一直执行, 视频监控等等, 防止停止

留言

给我留言