栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
    • 1. 运算符
      • 1.1 比较运算符
      • 1.2 赋值运算符
      • 1.3 运算符优先级
      • 1.4 练习
    • 2. 数据类型的转换
      • 2.1 布尔值转换
      • 2.2 数字转换
        • 2.2.1 整型(int)
        • 2.2.2 浮点型(float)
    • 3. 分支结构
      • 3.1 单分支结构
      • 3.2 多分支结构
      • 3.3 嵌套分支结构
      • 3.4 三目运算符
    • 4. 练习

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 
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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005327.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号