python分支语句

二、分支循环

P.1if分支结构

P.1.1基本结构

格式:

if        表达式1:

        表达式1成立,执行此代码

else:

        表达式1不成立,执行此代码

 【例子】

if 2>5:
    print("下课")
    print("放学")        # 严格注意缩进。
else:
    print("好好学习")

2>5不成立,执行else的内容,打印"好好学习"

P.1.2分层结构

if        表达式1:

        表达式1成立,执行此代码

elif        表达式2:

        表达式2成立,执行此代码

......

else:

        上边表达式均不成立,执行此代码

【例】输入学生成绩,判定成绩在哪一等级

sorce = int(input("请输入该学生的成绩:"))
if 90 <= sorce <= 100:
    print("A")
elif 80 <= sorce < 90:
    print("B")
elif 70 <= sorce < 80:
    print("C")
else:
    print("D")

P.1.3嵌套结构

if        表达式1:

        表达式1成立,进入此代码块继续执行

        if        表达式2:

                表达式2成立,执行此代码

else:

        表达式1不成立,执行此代码

sorce = int(input("请输入该学生的成绩:"))
if sorce <= 100:
    if sorce >= 90:
        print("A")
    elif sorce >= 80:
        print("B")
    elif sorce >= 70:
        print("C")
    else:
        print("D")
else:
    print("输入错误")

P1.4例题(参考代码在后面)

【例1】输入三个值,分别表示箱子的长宽高,判断箱子是长方体还是正方体

【例2】输入三个值,从小到大依次输出

P.1.5match case结构

同C语言中的switch    case结构(编译器环境必须在3.10版本以上,之前的版本并未实装此功能)

n = 2
match n:
    case 1:
        print("1111")
    case 2:
        print("2222")
    case 3:
        print("3333")
    case _:
        print("error")

P.2循环语句

P.2.1while循环

格式:

表达式1

while        表达式2:

        代码块

        表达式3


表达式1:循环变量赋予一个初始值

表达式2:循环终止条件,当该判断语句为真时进入循环,可通过某些条件实现死循环

表达式3:循环遍历的值增加或减少

【例】计算1-10以内的和

i = 1
s = 0
while i < 11:
    s += i
    i += 1
print(s)

【例】计算1-10以内的奇数和

i = 1
s = 0
while i < 11:
    s += i
    i += 2
print(s)
# --------------------------------
i = 1
s = 0
while i < 11:
    if i % 2 != 0:    # 此处是对所有的值进行判断,只有是奇数才会被加到s中去。
        s += i
    i += 1
print(s)

以上例子中第二个写法验证循环内部可以嵌套分支判断

P.2.1.*双层while

while        条件1:

        while        条件2:

                代码块


外层循环修改一次,内存循环遍历一轮

【例】打印九九乘法表

# 九九乘法表
i = 1
while i < 10:
    j = 1
    while j <= i:
        print("%2d *%2d = %2d" % (i, j, i*j), end="  ")
        # 此处的print中end表示打印的结果以""内部的值为结尾
        j += 1
    print()
    i += 1

P.2.2for循环

for        临时变量        in        可迭代对象:

【例】

s1 = "hello"
for i in s1:
    print(i)
# 依次输出字符串s1中的所有字符
l1 = [2, 5, 7, 9]
# l1是一个列表,是一种数据类型
for i in l1:
    print(i)
# 依次输出l1中的所有字符
P.2.2.*range函数

生成一组整数序列

range(strat, stop, step)

start:        开始值,默认从0开始,若为0则可以不写

stop:        终止值,到stop结束,不包括stop(无默认终止值)

step:        步长,默认值为1,可省略,想要倒序排列可将步长设置为-1

左闭右开,包含开始值不包含终止值

【例】倒序输出1到5

for i in range (5, 1, -1):
    print(i)

P.3循环控制语句

break

结束当前循环

continue

结束本次循环,继续下一次

pass

空语句,为了保持程序结构的完整性

【例】break

for i in range(2, 6, 1):
    if i == 4:
        # break:输出结果为2,3
        # continue:输出结果为2,3,5
    print(i)

【思考】替换成while

# 替换成while
i = 2
while i < 6:
    if i == 4:
        # break:输出结果为2,3且进程结束
        # continue:while循环要借助i += 1才能进行条件变化,而continue之后的条件变化语句不会再被执行,所以i永远等于4,程序不会停止,变成死循环。
    print(i)
    i += 1

P.4练习

【练1】输入任意两个数,输出两数之间(包括这两个数)偶数之和

【练2】马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人何小孩,在一家饭馆里吃饭,共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,

问男人、女人、小孩各有几人

更多内容请看——>python1_Gu_shiwww的博客-优快云博客

下一篇跳转链接:python数据类型-优快云博客

P.5参考代码(1.4中)

【例1】输入三个值,分别表示箱子的长宽高,判断箱子是长方体还是正方体

# 输入三个值,分别表示箱子的长宽高,判断箱子是长方体还是正方体
a = int(input("请输入箱子的长:"))
b = int(input("请输入箱子的宽:"))
c = int(input("请输入箱子的高:"))
if (a > 0) and (b > 0) and (c > 0):
    if a == b == c:
        print("箱子是一个正方体")
    elif a == b or a == c or b == c:
        print("箱子是有两个面为正方形的长方体")
    else:
        print("箱子是一个长方体")
else:
    print("错误输入")

【例2】输入三个值,从小到大依次输出

# 输入三个值,从小到大依次输出
n1 = int(input("请输入成绩:"))
n2 = int(input())
n3 = int(input())
if n1 > n2:
    n1, n2 = n2, n1
if n1 > n3:
    n1, n3 = n3, n1
if n2 > n3:
    n2, n3 = n3, n2

【练1】输入任意两个数,输出两数之间(包括这两个数)偶数之和

# 输入任意两个数,输出两数之间(包括这两个数)偶数之和
a = int(input("请输入第一个整数"))
b = int(input("请输入第二个整数"))
m = a
n = b
s = 0
if a % 2 == 1:
    a = a + 1
while a <= b:
    s += a
    a += 2
print(f"{m}到{n}之间的偶数和为{s}")

【练2】马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人何小孩,在一家饭馆里吃饭,共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,

问男人、女人、小孩各有几人

m = 1
while m < 10:
    print(f"男生={m},女生={20 - 2 * m},小孩={10 + m}")
    m += 1
totalPeople = m + w + c

totalPrice = 50 = 3m + 2w + c

m + w + c = 30

50 = 3m + 2w + c

20=2m +w w=20-2m>0

m<10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值