Python中运算符、简单数据转换以及分支结构的使用

一、运算符

(一)比较运算符

  1. 符号:> 、< 、== 、!= (不等于)、 >= 、<=
  2. Python中比较大小是同类型数据之间比较大小、比较大小得到的结果是布尔值
为什么python能够比较大小?

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

  • 数字0-9对应的十进制编码值为:48-57

  • A-Z对应的十进制编码为:65-90

  • a-z对应的编码值为:97-122

    由一个例题来解释:判断年份是否是闰年
    只有当条件满足的时候才会为True

year = 2004
result = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(result)

(二)赋值运算符

  1. 赋值运算符规则是:先算等号右边,再给等号左边赋值

  2. 符号:=、+=、-=、*=、/=、//=、%=、**=

    举例说明:

    a = 10
    a += 5  # a = a + 5
    a **= 2  # a= a ** 2
    a %= 2  # a = a % 2
    print(a)
    
    复合赋值运算符

    我们始终要记住先算等号右边再赋值

    a *= a + 3  # a = a * (a + 3) 始终记住先算右边再赋值
    print(a)
    

(三)逻辑运算符

符号:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算) -->结果均为布尔值

1. and:条件1 and 条件2,条件1和条件2都成立时,整体条件成立,反之不成立

中断:and左边条件不成立时,and右边条件无需再判断

2. or:条件1 or 条件2,一个条件成立则整体成立,都不成立则整体不成立

中断:or左边成立时,则无需判断右边条件

3. not - 非,取反,反义词

例题:判断年份是否为闰年

0=False,非0均为True。 bool() - 能够将数据转为布尔值

year = int(input('输入一个年份:'))
a = not year % 4
b = year % 100
c = not year % 400
print(bool((a and b) or c))
print(a and bool(b) or c)

(四)运算符优先级

  1. 先算小括号整体
  2. 算数运算符:*大于、/、%、//大于+、-
  3. 算数运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

一定要记清楚优先级,否则会导致运算错误

练习1:华氏度和摄氏度的转换:C = (F - 32)/1.8

round(参数1,参数2) —> 参数1等于数值,参数2需要保留的小数位数

F = 75
C = round((F - 32) / 1.8, 1)
print(f'华氏度{F}等于摄氏度{C}')

练习2:根据指定的圆的半径,计算圆的周长和面积

r = 3
pi = 3.14
c = 2 * pi * r
s = pi * r ** 2
print(f'半径为{r}的圆的周长为{c},面积为{s}')

二、简单数据类型转换

数字、布尔值的数据类型转换

(一)布尔值转换

所有的数据都可以转换为布尔值(bool)—>bool()

print(bool(0), bool(1), bool(-1))

0转换为False,非0全为True。 所有的空值对象全是False

( X )除字典类型外,所有标准对象均可以⽤于布尔测试。
( ✔ )所有标准对象均可以⽤于布尔测试。

(二)数字转换

  1. 整型(int)—> int()
    a. 布尔值可以转换成整型:False --> 0,True --> 1
    b. 浮点型转换成整型:向小取整
    c. 去掉引号是一个整数的字符串可以转换成整型
    具体示例:
print(int(bool(100)))
print(int(0.1))
print(int(.1))  # 默认为0.1
print(int(1.))  # 默认为1.0
print(int('1'))

print(int(‘1.0’)) —>会报错,原因:1.0不是整型

  1. 浮点型(float) —> float()

    a. 整型转浮点型

    b. 去掉引号是数字的字符串可以转换成浮点型

    c. 布尔值可以转换成浮点型 —>False:0.0 ; True:1.0
    具体示例:

print(float(1))
print(float('.9'))
print(float('9.'))
print(float('9.9'))

bool()、int()、float()、str()、list()等 —>构造器语法

三、分支结构

分支结构关键词:if、else、elif

如果没有需要执行的写pass完整程序

(一)单分支结构:if、else

单分支结构语法

if 条件:
    代码段1
else:
    代码段2

缩进:一般把缩进看做四个空格,一个程序的缩进必须保持一致。(若不一致会导致运行错误)

举例:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

练习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:输入三条边长,如果能构成三角形就计算周长和面积。

a = float(input('请输入第一个边长:'))
b = float(input('请输入第二个边长:'))
c = float(input('请输入第三个边长:'))
C = a + b + c
s = 0.5 * C
S = (s * (s - a) * (s - b) * (s - c)) ** 0.5
if (a + b > c and a + c > b) and b + c > a:
    print(f'三角形的周长为{C},面积为{round(S, 2)}')  # round 保留小数位数
else:
    print('不能构成三角形')

(二)多分支结构:if、elif、else

多分支结构语法:当有多个条件的时候使用

elif 可以多次出现,没有限制

if 条件1:
    代码段1
elif 条件2:
    代码段2
......

else:
    代码段N

用多分支结构来做上述练习2

if year % 4 == 0 and year % 100 != 0:
    print(f'{year}是闰年')
elif year % 400 == 0:
    print(f'{year}是闰年')
else:
    print(f'{year}不是闰年')

举例:百分制成绩转换为等级制成绩。
要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。

num = float(input('请输入成绩:'))
if num >= 90:
    print('等级制成绩为:A')
elif num >= 80:
    print('等级制成绩为:B')
elif num >= 70:
    print('等级制成绩为:C')
elif num >= 60:
    print('等级制成绩为:B')
else:
    print('等级制成绩为:E')

在这里因为elif执行的前提是前面的条件已经不满足,所以不用按照如下的写法来增加警告

elif num >= 80 and num < 90: # 这样写会有下划线警告

举例:英制单位英寸和公制单位厘米互换。 注意:厘米=英寸/2.54

num = float(input('请输入值:'))
unit = input('请输入单位:')
if unit == 'cm' or unit == '厘米':
    print(f'{num}{unit}={num * 2.54}in')
    print(f'公制单位为厘米,值为{num},转换为英制单位英尺,值为{num * 2.54}')
elif unit == 'in' or unit == '英寸':
    print(f'{num}{unit}={num / 2.54}cm')
    print(f'英制单位为英尺,值为{num},转换为公制单位厘米,值为{num / 2.54}')
else:
    print('单位无效')

(三)嵌套分支

嵌套分支语法:总的来说就是在一个条件满足的情况下,进行进一步的筛选,符合进一步条件的按照要求输出

实例:判断一个数字是否是偶数,如果是偶数,再判断其是否是三的倍数

randint(a,b) – a < b,randint能够生成[a,b]范围的随机整数。随机模块:random

from random import randint
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)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值