1.1 if语句
1.1.1 if结构
if 条件:
代码块
如果条件成立(True),则执行代码块。
score = 100
if score >=90:
print("优秀")
1.1.2 if -else结构
if 条件:
代码块1
else:
代码块2
条件成立执行代码块1,否则执行代码块2
score = int(input("请输入成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")
1.1.3 elif 结构
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
……
elif 条件n:
代码块n
else:
代码块n+1
从上到下,依次测试,如果哪个条件成立就执行哪个。 都不成立执行代码块n+1
score = int(input("请输入成绩:"))
if score >= 90:
print("优秀")
elif score >= 70:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
1.2 三元运算
对于c语言: 条件 ? 表达式1:表达式2
#include <stdio.h>
int main() {
int score = 50;
char *ps = score >=60 ? "及格":"不及格";
printf("%s\n",ps);
return 0;
}
相要实现相同的功能,python中用:
表达式1 if 条件 else 表达式2
score = 50
result = "及格" if score >= 60 else "不及格"
print(result)
1.3 match ... case结构
类似于c语言中的switch结构,但要强大的多。python 3.10中开始出现。
1.3.1 基本匹配
n = -1
match n:
case 1:
print("正数")
case 0:
print("0")
case -1:
print("负数")
case _:
print("错误")
n和匹配项对比,成立执行其中的代码,都不成功执行 _
的分支 ,类似switch中的default
1.3.2 匹配多个值(或)
同时匹配多个值
def match_test(status):
match status:
case 1 | 2 | 3: # status 是1,2,3都进入这个分支
return "正常结束"
case 4 | 5:
return "发生一些错误"
case _:
return "致命错误"
print(match_test(2))
1.3.3 列表匹配
在匹配中按最接近的匹配,同时可以进行赋值,元组同样。
def match_test(status):
match status:
case [1, 2]:
return "1,2"
case [3, 4]:
return "3,4"
case [3, b]:
return b
case [a, b, c]:
return "->",a, b, c
case [a, b, *args]:
return a, b, *args
case _:
return "错误"
print(match_test([3, 3, 3]))
print(match_test([3, 3, 3]))
[1,2] 匹配第一个: case [1, 2]
[3,4] 匹配第二个:case [3, 4]
[3,5] 匹配第三个,同时把5赋值给b:case [3, b]
[3,3,3] 匹配第四个,同时赋值给a,b,c:case [a, b, c]
[3,4,5,6] 匹配第五个,同时赋值给a=3,b=4,args=[5,6]
子模式:匹配多个条件
def match_test(status):
match status:
# 匹配其中的一个单词
case [('morning' | 'afternoon' | 'evening'), info]:
print("Good {0[0]}! {0[1]}".format(status))
case ['hello', 'abc']:
print("hello, abc!")
case _:
print("错误")
match_test(['morning', 'It is time to work!'])
match_test(['hello', 'abc'])
1.3.4 匹配对象属性
class Circle:
def __init__(self, x, y, radius):
self.x = x
self.y = y
self.radius = radius
def match_test(circle):
match circle:
case Circle(x=1, y=1, radius=1):
print("标准大小")
case Circle(x=2, y=3, radius=4):
print("预设大小")
case _:
print("错误")
match_test(Circle(1, 1, 1))
1.3.5 在匹配中添加条件判断
status = 1
flag = True
match status:
case 1 if flag:
print("1")
case 2:
print("2")
1.4 while循环
while 条件:
语句块
continue # 结束本次循环,继续执行下一次循环
break # 强制离开循环
else:
语句块
当循环条件为False时执行else块(就是正常结束),如果用break,异常,return强制结束则不行。
i = 0
while i < 10:
i += 1
print('*'*i)
else:
print("end")
1.5 for循环
for 迭代变量 in 序列: # 序列包括字符串,列表,元组,集合等
语句块
continue
break
else:
语句块
当循环正常结束时执行else块,如果用break,异常,return强制结束则不行。
for i in "hello world":
print(i)
else:
print("end")
a = [1,2,3,4,5,6]
for i in a[1:3]: # 循环列表区间内容
print(i)
1.5.1 循环range
生成数字序列:range(开始,结束,步长), 注意不包括结束位置
for i in range(5): # 0-5(不包括5)
print(i)
for i in range(0,100,2):
print(i)
1.5.2 循环enumerate对象
他会给列表元素添加一个序号,生成:序号 元素值
a = ["a", "b", "c", "d"]
for n, item in enumerate(a):
print(n, item)
1.5.3 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("{}×{}={:2d}".format(j,i,i*j), end="\t")
print()
输出
1×1= 1
1×2= 2 2×2= 4
1×3= 3 2×3= 6 3×3= 9
1×4= 4 2×4= 8 3×4=12 4×4=16
1×5= 5 2×5=10 3×5=15 4×5=20 5×5=25
1×6= 6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7= 7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8= 8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9= 9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
1.6 pass语句
用于占位,什么也不做,当没想好时可以这样写,防止报错。
for i in range(1,10):
pass
标签:语句,case,return,控制,PYTHON,else,score,print,match
From: https://www.cnblogs.com/three-sheep/p/16936016.html