Python 基础 05 while循环

Day 04 作业

# 任务:输入一个姓名:当姓名为张三,则输出:该回家吃饭了,如果不是,则输出:我在找张三
# 需求:分别使用条件判断和异常捕获完成任务

# 条件判断
name1 = input("请输入一个姓名:")
if name1 == "张三":
    print("该回家吃饭了")
else:
    print("我在找张三")

# 异常捕获
name2 = input("请输入一个姓名:")
try:
    if name2 == "张三":
        print("该回家吃饭了")
    else:
        print(name3)
except:
    print("我在找张三")

循环

循环的分类

  1. for循环
  2. while循环
  3. 递归(也可以称之为循环)

while循环

语法:

while xxx(判断条件(表达式)):   # 要么是True要么是False
    (循环语句)

追求:用更少的代码,实现更多的功能

num = 10
while num > 0:
    print("打印出了会被执行的句子")

会不停的打印,占用计算机的内存,直到崩溃

所以记得不要写死循环,要找出口:

num = 10
while num > 0:
    print("打印出了会被执行的句子")
    num -= 1   # num = num - 1
num = 0
while num < 10:
    print("打印出了会被执行的句子")
    num += 1

计算1~100的和:

  1. 使用sum和计数器
  2. 需要从1循环到100
num = 1
sum = 0
while num <= 100:
    sum += num
    num += 1

进阶:计算1~100的奇数和

  1. 从1循环到100,判断每个数书否能被2整除,如果不能就是奇数
  2. num += 2

方法一

num = 1
sum = 0
while num <= 100:
    if num % 2 != 0:   # 如果有余数,说明是奇数
        sum += num 
    num += 1
print(sum)

方法二

num = 1
sum = 0
while num <= 100:
    sum += num
    num += 2
print(sum)

算法就是解决问题的思路和方法

循环控制语句

  1. break语句:执行过程中终止循环
  2. continue语句:跳过本次循环,进入下一次循环
# 从1打印到100,但是到50停止整个循环
num = 1
while num <= 100:
    print(num)
    if num == 50:
        break    # 结束整个循环
    num += 1
# 从1打印到100,但是50不打印
num = 0
while num < 100:
    num += 1
    if num == 50:
        continue    # 跳过本次循环
    print(num)

while循环嵌套

x = 0
count = 0
while x < 5:
    y = 0
    while y < 5:
        count += 1   # 循环 25次
        y += 1
    x += 1

使用while循环写一个99乘法表

# 1*1=1
# 1*2=2 2*2=4
# 1*3=3 2*3=6 3*3=9
# ……
# 一个循环控制行,一个循环控制列

x = 1
while x <= 9:
    y = 1
    while y <= x:
        print("{}*{}={}".format(y,x,x*y),end="\t")
        # print()方法默认换行,如果不希望换行使用end属性
        y += 1
    print("")
    x += 1

Day 05 作业

"""
任务:

每天道歉一次,并买三束花束花 总共持续10天

当我在第四天,买了第2束花后,女朋友不生气了,整个循环都会退出

疑问:在嵌套循环当中,内部循环执行到break它是退内部,还是整体?

提示:如何才能让条件循环停止
"""
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值