【Python学习】 Day-02 运算符、数据类型转换、分支结构

1. 运算符

1.1 比较运算符

Python中的比较运算符有:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
PS:=是赋值符号,不可用于比较运算

  • Python中比较大小是同类型数据之间比较
  • 比较大小的结果是布尔值(True、False)
print(3>4)
print('A' < 'a')

运行结果

False
True

问题:为什么Python能够比较大小?

:Python使用的编码叫万国码:unicode,是ASCII编码的拓展。

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. 练习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
  1. 练习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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值