运算符相关
比较运算符
<、>、==(等等于)、!=(不等于)、>=、<=
python中比较大小必须是同类型数据之间比较大小
比较的结果为布尔值
print(3 > 4)
# 运行结果:False
python中使用的编码值叫万国码:unicode,是ASCII编码的拓展
学习中需要记忆的点:
- 数字0-9对应的十进制编码值为:
48-57
- A-Z对应的十进制编码值为:
65-90
;a-z对应的十进制编码值为:97-122
print('A' < 'a')
# 运行结果:True
print(0 != 1)
print(0 == 1)
print(2 >= 2)
# 运行结果 True False True
赋值运算符
先算等号右边,再将结果赋予左边
=、+=、-=、*=、/= 、//=、 %=、**=
a = 10
a += 5
a **=2
print(a)
# 运行结果: 225
a %= 2
print(a)
# 运行结果: 1
a *= a + 3
# a = a * (a + 3)
print(a)
#运行结果: 4
运算优先级
a.先算小括号整体
b.算数运算符: 复杂运算大于简单运算(+、 -)
c.算数运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
# 练习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
简单的数据类型转化
一、 布尔值转换
所有的数据类型都可以转换为布尔值 ,bool()
注意点:
a. 0转换为False,非0全是True换为False,非0全是True
b. 所有的空值对象全是False
二、数字转换
1.整型(int),int()
a.布尔值可以转换成整型:False --> 0 ,True --> 1
b.浮点型转整型: 向小取整
c.去掉引号是一个整数的字符串可以转整型
print(int(bool(100))) # 1
print(int(0.1)) # 0
print(int(.1)) # 0
print(int(1.)) # 1
print(int('2')) # 2
#print(int('2.0')) 字符串是小数,不能转整型
2.浮点型(float) ,float()
a.整型转浮点型。
b.去掉引号是数字的字符串可以转成浮点型。
c.布尔型可以转浮点型 --> False : 0.0 ,True:1.0
print(float(1)) # 1.0
print(float('.9')) # 0.9
print(float('9.')) # 9.0
print(float('9.9')) # 9.9
分支结构
分支结构关键词:if 、else、elif
单分支结构 (if 、else)
单分支结构语法:
if 条件:
代码段1
else :
代码段2
注意缩进,一般来说缩进看作4个空格,一个程序里的缩进必须保持一致。
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('登录失败')
多分支结构
多分支结构语法:
if 条件1:
代码段1
elif 条件2:
代码段2
…
else :
代码段N
# 案例:判断一个年份是否为闰年
year = int(input(('请输入一个年份:')))
if (year % 4 == 0 and year % 100 != 0):
print(f'{year}是一个闰年')
elif year % 400 == 0:
print(f'{year}是一个闰年')
else:
print(f'{year}是一个平年')
嵌套分支
简单来说就是满足条件1的情况下满足条件2
嵌套分支语法:
if 条件1:
代码段
if 条件:
…
else:
代码段
拓展:随机模块:random
randint(a,b) – a < b ,randint能够生成[a,b]范围的随机整数
round(a,b) --> 对a进行b位数据保留
#案例:判断一个数字是否是偶数,如果是偶数,再判断其是否是3的倍数
num =randint(0, 100)
print(num)
if num % 2 == 0:
print('偶数')
if num % 3 == 0:
print('是3的倍数')
else:
print('奇数')
三目运算符
三目运算符语法:
变量 ='结果1’if 条件 else ‘结果2’
条件成立,结果为结果1,反之结果为结果2
# 案例:判断一个人是否成年
age = int(input('请输入一个年龄:'))
result = '成年'if age >= 18 else '未成年'
print(result)
今日练习
# 练习1:输入三条边长,如果能构成三角形就计算周长和面积。
a =float(input('请输入三角形边长:')) #采用float型是因为 边长可能为小数
b =float(input('请输入三角形边长:'))
c =float(input('请输入三角形边长:'))
if a + b > c and a + c >b and b + c > a : # 三角形成立条件:两边和大于第三边
# 周长
C = a + b + c
# 面积 :海伦公式 -->
# (三角形周长的一半 * (三角形周长的一半 - a) * (三角形周长的一半 - b) *(三角形周长的一半 - c ) ** 0.5 需要记忆
S = (C / 2 * (C / 2 - a) * (C / 2 - b) * (C / 2 - c)) ** 0.5 # 括号间不能省略*号
print(f'三角形的周长为{C},面积为{round(S, 2)}') # round(),对数据进行保留小数操作
else :
print('三条边不能构成三角形')
# 练习2:百分制成绩转换为等级制成绩。
# 要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;
# 70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
score = int(input ('请输入考试成绩:'))
if score >= 90:
print('A')
# elif score >= 80 and socre < 90: 可以写成闭区间,不规范写法,因为 >= 90 已经满足条件1
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('E')
# 练习3:英制单位英寸和公制单位厘米互换。厘米=英寸*2.54
num =float(input('请输入一个数值:'))
unit = input('请输入单位:')
if unit == 'cm' or unit == '厘米':
print(f'{num}{unit}={num * 2.54 }in')
else:
print('请输入正确单位')