文章目录
1. 运算符
1.1 比较运算符
Python中的比较运算符有:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
PS:=是赋值符号,不可用于比较运算
- Python中比较大小是同类型数据之间比较
- 比较大小的结果是布尔值(True、False)
print(3>4)
print('A' < 'a')
运行结果
False
True
问题:为什么Python能够比较大小?
答:Python使用的编码叫万国码:unicode,是ASCII编码的拓展。
- 数字0-9对应的十进制编码值:48-57
- A-Z对应的十进制编码:65-90
- a-z对应的编码值:97-122
year = 2004
result = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(result)
运行结果
True
1.2 赋值运算符
先算等号右边,再给等号左边赋值
Python中的赋值运算符有:=、+=、-=、*=、/=、//=、%=、**=
a = 10
a += 5
print(a)
# a = a + 5
a **= 2
# a = a ** 2
print(a)
a %= 2
# a = a % 2
print(a)
# 复合赋值运算符
a *= a + 3
# a = a * (a + 3)
print(a)
运行结果
15
225
1
4
1.3 运算符优先级
- a.先算小括号整体。
- b.算数运算符:**大于*、/、%、//大于+、-
- c.算数元素符 > 比较运算符 > 逻辑运算符 > 赋值运算符
1.4 练习
- 练习1:华氏度和摄氏度的转换:C = (F - 32)/1.8
F = 87
C = round((F - 32) / 1.8, 1)
# round(参数1, 参数2) --> 参数1等于数值,参数2需要保留的小数位数。
print(f'华氏度{F}等于摄氏度{C}')
运行结果
华氏度87等于摄氏度30.6
- 练习2:根据指定的圆的半径,计算圆的周长和面积。
r = 3
pi = 3.14
C = 2 * pi * r
S = pi * r ** 2
print(f'半径为{r}的圆的周长为{C},面积为{S}')
运行结果
半径为3的圆的周长为18.84,面积为28.26
2. 数据类型的转换
2.1 布尔值转换
所有的数据都可以转换为布尔值(bool)
print(bool(0), bool(1), bool(-1))
print(bool(''), bool([]), bool({}), bool(None))
运行结果
False True True
False False False False
- 0转换为False,非0全转换为True
- 所有的空值对象全是False。
2.2 数字转换
2.2.1 整型(int)
- 布尔值可以转换成整型:False --> 0,True --> 1
- 浮点型转整型:向小取整
- 去掉引号是一个整数的字符串可以转整型
print(int(bool(100)))
print(int(0.1), int(.1)) # --> 0
print(int(1.), int('1')) # --> 1
# print(int('1.0')) #--> invalid literal for int() with base 10: '1.0'
运行结果
1
0 0
1 1
2.2.2 浮点型(float)
- 整型转浮点型。
- 去掉引号是数字的字符串可以转成浮点型。
- 布尔值可以转浮点型—>False:0.0; True:1.0
print(float(1), float('.9'), float('9.'), float('9.9'))
运行结果
1.0 0.9 9.0 9.9
- PS:bool()、int()、float()、str()、list()等 —> 构造器语法
3. 分支结构
3.1 单分支结构
关键词:if、else
缩进:一般把缩进看做四个空格,一个程序的缩进必须保持一致。
- 案例1:账号密码登录
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('登录失败')
- 案例2:判断一个年份是否是闰年?
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f'{year}是闰年')
else:
print(f'{year}是平年')
3.2 多分支结构
关键词:if、elif、else
- 案例:判断一个年份是否是闰年?
if year % 4 == 0 and year % 100 != 0:
print(f'{year}是闰年')
elif year % 400 == 0:
print(f'{year}是闰年')
else:
print(f'{year}是平年')
3.3 嵌套分支结构
- 案例:判断一个数字是否是偶数,如果是偶数,在判断其是否是3的倍数。
# 随机模块:random
from random import randint
# randint(a,b) - a<b,randint能够生成[a,b]范围的随机整数
num = randint(0, 100)
print(num)
if num % 2 == 0:
print('偶数')
if num % 3 == 0:
print('是3的倍数')
else:
print('奇数')
3.4 三目运算符
# 判断一个人是否成年
age = 17
if age < 18:
print('未成年')
else:
print('成年')
# 三目运算符写法
# 变量 = '结果1' if 条件 else '结果2'
# 条件成立,结果为'结果1',反之为'结果2'
result = '成年' if age >= 18 else '未成年'
print(result)
4. 练习
- 练习1:输入三条边长,如果能构成三角形就计算周长和面积。
a = float(input('输入三角形边长:'))
b = float(input('输入三角形边长:'))
c = float(input('输入三角形边长:'))
if a + b > c and a + c > b and b + c > a:
# 周长
C = a + b + c
# 面积:海伦公式 -->
# (三角形周长的一半 * (三角形周长的一半 - a) * (三角形周长的一半 - b).....)**0.5
S = (C / 2 * (C / 2 - a) * (C / 2 - b) * (C / 2 - c)) ** 0.5
print(f'边长为{a},{b},{c}三角形的周长为{C},面积为{round(S, 2)}')
else:
print('三条边不能构成三角形')
运行结果
边长为3.0,4.0,5.0三角形的周长为12.0,面积为6.0
- 练习2:百分制成绩转换为等级制成绩。
要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;
70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
score = 90
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('E')
运行结果
A
- 练习3:英制单位英寸和公制单位厘米互换。
num = float(input('请输入一个数值:'))
unit = input('请输入单位:')
if unit == 'cm' or unit == '厘米':
print(f'{num}{unit}={num * 2.54}in')
else:
print(f'{num}{unit}={num / 2.54}cm')
运行结果
12.0m=4.724409448818897cm