运算符
比较运算符:<、>、==(等等于)、!=(不等于)、>=、<=
python中比较大小是同类型数据之间比较大小
比较大小得到的结果是布尔值
print(3>4)
#False
为什么python能够比较大小?
python使用的编码值叫万国码:Unicode,其是ASCII编码的拓展。
其数字0-9对应的十进制编码值为:48-57.
A-Z对应的十进制编码:65-90;a-z对应的编码值;97-122.
<=、>=符合其中之一为真
print('A'<'a')
print(0 !=1)
print(0 == 1)
print(2 >= 2)
#True
#True
#False
#True
使用比较运算符判断闰年
year = 2018
result = (year % 4 == 0 and year % 100 !=0) or (year % 400 ==0)
print(result)
#False 2018不是闰年
赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
a = 10
a += 1
# a = a + 1
a **= 2
# a = a ** 2
print(a)
#121
复合赋值运算符
a *= a + 3
# a = a * (a + 3)
print(a)
#15004
运算符优先级:
a.先算小括号整体。
b.算数运算符:*大于、/、%、//大于+、-
c.算数元素符 > 比较运算符 > 逻辑运算符 > 赋值运算符
round(参数1,参数2)----参数1等于数值,参数2需要保留小数位数
练习1:华氏度和摄氏度的转换: C = (F-32)/1.8
F = 78
C = round((F - 32) / 1.8,2)
print(f'华氏度{F}等于摄氏度{C}')
#华氏度78等于摄氏度25.56
练习2:根据指定圆的半径,计算圆的周长和面积。
import math
r = 3
c = round(2 * math.pi * r,2)
s = round(math.pi * r ** 2,2)
print(f'半径为{r}的圆周长为{c},面积为{s}')
#半径为3的圆周长为18.85,面积为28.27
简单数据类型转换
一、布尔值转换。
所有的数据都可以转换成布尔值(bool)
print(bool(0),bool(1),bool(-1))
print(bool(''),bool([]),bool({}),bool(None))
#False True True
#False False False False
空字符串、空列表、空字典、空值都可以转换成布尔型–false
- 0转换为False,非0全部转换为True
- 所有的空值对象都转换为False。
二、数字转换
- 整型(int)
a.布尔值可以转换成整型:Flase—0,True----1
b.浮点型转换成整型:向小取整
c.去掉引号是一个整数字符串转换成整型
print(int(bool(100)))
print(int(0.1))
print(int(.1))
print(int(1.))
print(int('123'))
#1
#0
#0
#1
#123
-
浮点型(float)
a.整型转换成浮点型
b.去掉引号是数字的字符串可以转换成浮点型
c.布尔值可以转换成浮点型 Flase—0.0;True—1.0print(float(1)) print(float('9.69')) print(float(True)) #1.0 #9.69 #1.0
构造器语法:bool()、int() 、str() 、list()等
分支结构
分支结构关键词:if、else、elif
单分支结构:if、else
缩进:一般把缩进看作四个空格,一个程序的缩进必须保持一致
单分支结构语法:
if 条件:
代码段1
else:
代码段2例1:用户登录
username = input('请输入用户名:') password = input('请输入密码:') if username == 'admin' and password == '123456': print('登录成功') else: print('登录失败') #请输入用户名:admin #请输入密码:123456 #登录成功
练习题1:判断闰年
year = int(input('请输入一个年份:')) if (year % 4 == 0 and year % 100 !=0) or (year % 400 ==0): print(f'{year}年是闰年') else: print(f'{year}年不是闰年') #请输入一个年份:2011 #2011年不是闰年
多分支结构
多分支结构语法:
if 条件1:
代码段1
elif 条件2:
代码段2
…
else:
代码段n
例2:判断闰年
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}年不是闰年')
#请输入一个年份:2008
#2008年是闰年
嵌套分支
嵌套分支语法:
嵌套分支语法:
if 条件1:
代码段1
if 条件2:
代码段2
else:
代码段3
…
else:
代码段n
例3:判断一个随机数字是否是偶数,如果是偶数再判断是否是3的倍数。
随机模块:random
randint(a.b),a<b,randint能够生成[a,b]范围的随机整数
num= randint(0,100)
print(num)
if num % 2 == 0:
print(f'{num}是一个偶数')
if num % 3 == 0:
print(f'{num}是3的倍数')
else:
print(f'{num}不是3的倍数')
else:
print(f'{num}是一个奇数')
#76
#76是一个偶数
#76不是3的倍数
三目运算符
三目运算符语法:
变量 = ’结果1‘ if 条件 else ’结果2‘
条件成立,结果为结果1,反之为结果2
例4:判断一个人是否成年
#单分支结构
age = 17
if age < 18:
print('未成年')
else:
print('成年')
# 三目运算符写法
result = '成年' if age >= 18 else '未成年'
print(result)
#未成年
#未成年
练习题2:输入三条边长,如果能构成三角形就计算周长和面积。
a = float(input('请输入第一条边长:'))
b = float(input('请输入第二条边长:'))
c = float(input('请输入第三条边长:'))
if ((a - b < c) and (a - c < b) and (b - c < a)) or ((a + b > c) and (a + c > b) and (b + c > a)):
print('这三条边能够构成三角形')
C = a + b + c
p = 0.5 * C
print(f'这个三角形的周长为{C}')
S = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print(f'这个三角形的面积为{S}')
else:
print('这三条边不能构成三角形')
#请输入第一条边长:3
#请输入第二条边长:4
#请输入第三条边长:5
#这三条边能够构成三角形
#这个三角形的周长为12.0
#这个三角形的面积为6.0
练习3:百分制成绩转换为等级制成绩。
要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
score = float(input('请输入学科成绩:'))
if score >= 90:
print('本学科等级成绩为A')
elif 80 <= score <90:
print('本学科等级成绩为B')
elif 70 <= score < 80:
print('本学科等级成绩为C')
elif 60 <= score <70:
print('本学科等级成绩为D')
else:
print('本学科等级成绩为E')
# 请输入学科成绩:85
# 本学科等级成绩为B
练习3:英制单位英寸和公制单位厘米互换。
注意:厘米=英寸*2.54
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')
#请输入一个数值:25
#请输入单位:cm
#25.0cm=63.5in