二、分支循环
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 + ctotalPrice = 50 = 3m + 2w + c
m + w + c = 30
50 = 3m + 2w + c
20=2m +w w=20-2m>0
m<10
826

被折叠的 条评论
为什么被折叠?



