Python----day3

for循环语句与range结合例子:

 1. 求1+2+3+...+99+100
"""
产生一个容器 容器放着1-100的数据
遍历容器取值 ,取出来一个累加起来
注意: 和随着取值 会发生变化的  【定义一个变量 用来接受累加和的值】
"""
total = 0  # 放在循环的外面  避免每次循环重置
for i in range(1, 101):
    total += i  # total = total + i
    """
    第一次 in 的时候 i = 1
        total += i  ===> total  = total + i = 1
    第二次 in 的时候 i = 2
        total += i  ===> total  = total + i = 1 + 2 = 3
    第三次 in 的时候 i = 3
        total += i  ===> total  = total + i = 3 + 3 = 6
    """
print(total)
2.求 1-2+3-4+5-6+...-98+99-100

方法一:

sum = 0
i = 1
for i in range(101):
    if i % 2 == 1:
        sum += i
    elif i % 2 == 0:
        sum -= i
print(sum)

方法二:(while)语句

使用while循环 完成 1+2+3+...+100
num = 0
i = 1
while i < 101:
    if i % 2 == 1:
        num += i
    elif i % 2 == 0:
        num -= i
    i += 1
print(num)

break和continue


    都是应用在循环结构语句中,只能对循环起作用
    break的作用是中断它所在的循环 【退出循环】
    continue的作用[循环一次一次执行的]是, 结束当前次[循环体中后面的代码不再执行],
        跳到循环判断的位置,再决定是否开启下一次 [判断成立的时候 开启下一次]

举例:

# 演示continue的作用
# 打印1-10中的偶数
for i in range(1, 11):
    # 判断这个数据是否是偶数 是的话 执行打印操作
    if i % 2 == 0:
        print(i)

# 换一种思路: 判断是否为奇数 如果是奇数 跳过这一次循环 继续拿下一个数
for j in range(1, 11):
    if j % 2 == 1:
        continue
    print(j)
利用continue写 数7游戏
# 1-100中 遇到7 或者 7的倍数 跳过  否则是输出
"""
1. 使用range 生成1-100的数列 
2. 遍历逐个获取数据
3. 判断 获取的数据 是否是7的倍数 或者 带7
        带有7 有两种情况
            个位   %10 == 7
            十位  //10%10 == 7
        7的倍数
            %7 == 0
"""
for m in range(1, 101):
    if m % 10 == 7 or m // 10 % 10 == 7 or m % 7 == 0:
        continue
    print(m)
break 是结束所在的循环 

    一般循环结束是  循环条件不成立或者容器中没有数据可拿时  结束循环
# 需求:
# 获取 1-100中 3的倍数且个位数为5  当获取到第二个的时候 结束获取
"""
思路:
    获取的时候还需要计数  当计数器为2的时候 结束循环
"""
count = 0  # 计数器
for k in range(1, 101):
    if k % 3 == 0 and k % 10 == 5:
        count += 1  # 计算器+1
        print(k)

    # 判断计算器是否为2 结束
    if count == 2:
        break

while:

语法:
    while 条件判断:
        循环体代码块
解读:
    只要条件成立,程序就一直在此循环,直到循环条件不成立

# 输出1-10之间的数据
# while循环 思想:
"""
1. 重复做的操作是什么   ==== 打印数据  每次打印的都是1个
2. 做这件事情的条件  ===== 只要打印的数据没有到10  就得一直打印
"""
# 根据这两件事情,需要哪些数据支持
# 打印数据 每打印1次 数据要在原来的基础上+1
# 也就是说要打印的数据是变化的  就得设置标记名给其进行标记 【定义一个变量 记录打印的数据值】
num = 1
# 循环的操作
while num <= 10:
    print(num)
    # 数据还在原来的基础上+1
    num += 1
print('循环结束时 num的值', num)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值