当前位置: 首页 > news >正文

Python运算符及分支结构全解析

Python语言中的运算符

在 Python 中,运算符(Operators)是用于执行各种运算的特殊符号或关键字,它们可以对一个或多个操作数(变量、值或表达式)进行数学计算、逻辑判断、赋值等操作。

运算符

描述

[][:]

索引、切片

**

~+-

按位取反、正号、负号

*/%//

乘、除、模、整除

+-

加、减

>><<

右移、左移

&

按位与

^、`

`

<=<>>=

小于等于、小于、大于、大于等于

==!=

等于、不等于

isis not

身份运算符

innot in

成员运算符

notorand

逻辑运算符

=+=-=*=/=%=//=**=&=|=^=>>=<<=

赋值运算符

案例:

# 索引和切片运算符
# 索引示例
print("-------------------索引和切片运算符 -------------------")
text = "Python"
print(text[1])    # 输出 'y' (获取索引1的字符)
print(text[-1])   # 输出 'n' (获取最后一个字符)# 切片示例
print("-------------------切片运算符 -------------------")
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4])   # 输出 [1, 2, 3] (获取索引1到3的元素)
print(numbers[::2])   # 输出 [0, 2, 4] (步长为2)
print(numbers[::-1])  # 输出 [5, 4, 3, 2, 1, 0] (反转列表)# 幂运算符
# 幂运算
print("-------------------幂运算符 -------------------")
print(2 ** 3)     # 输出 8 (2的3次方)
print(10 ** -2)   # 输出 0.01 (10的-2次方)# 一元运算符
# 按位取反
print("-------------------一元运算符 -------------------")
print(~5)        # 输出 -6 (二进制补码运算)
# 正号
print(+3.14)     # 输出 3.14 (保持原值)
# 负号
print(-10)       # 输出 -10 (取负值)# 乘除类运算符
# 乘法
print("-------------------乘除类运算符 -------------------")
print(3 * 4)     # 输出 12
# 除法
print(10 / 3)    # 输出 3.333... (浮点除法)
# 模运算
print(10 % 3)    # 输出 1 (余数)
# 整除
print(10 // 3)   # 输出 3 (向下取整)# 加减运算符
# 加法
print("-------------------加减运算符 -------------------")
print(5 + 3.2)   # 输出 8.2
# 字符串连接
print("Hello" + " " + "World")  # 输出 "Hello World"
# 减法
print(10 - 7)    # 输出 3# 位移运算符
# 右移
print("-------------------位移运算符 -------------------")
print(8 >> 2)    # 输出 2 (8的二进制1000右移2位变成0010)
# 左移
print(3 << 2)    # 输出 12 (3的二进制0011左移2位变成1100)# 位与运算符
# 位与运算
print("-------------------位与运算符 -------------------")
print(5 & 3)     # 输出 1 (0101 & 0011 = 0001)# 位异或和位或运算符
# 位异或
print("-------------------位异或和位或运算符 -------------------")
print(5 ^ 3)     # 输出 6 (0101 ^ 0011 = 0110)
# 位或
print(5 | 3)     # 输出 7 (0101 | 0011 = 0111)# 比较运算符
print("-------------------比较运算符 -------------------")
# 小于等于
print(3 <= 5)    # 输出 True
# 小于
print(3 < 3)     # 输出 False
# 大于
print(5 > 3.5)   # 输出 True
# 大于等于
print(5 >= 5)    # 输出 True# 相等性运算符
print("-------------------相等性运算符 -------------------")
# 等于
print(3 == 3.0)  # 输出 True (值相等)
# 不等于
print(3 != "3")  # 输出 True (类型不同)# 身份运算符
print("-------------------身份运算符 -------------------")
a = [1, 2, 3]
b = a
c = [1, 2, 3]# is 判断是否是同一对象
print(a is b)    # 输出 True (同一对象)
print(a is c)    # 输出 False (不同对象)
# is not
print(a is not c) # 输出 True# 成员运算符
print("-------------------成员运算符 -------------------")
fruits = ['apple', 'banana', 'orange']# in 判断是否包含
print('banana' in fruits)    # 输出 True
# not in
print('pear' not in fruits)  # 输出 True# 逻辑运算符
print("-------------------逻辑运算符 -------------------")
# not 逻辑非
print(not True)   # 输出 False
# or 逻辑或
print(True or False)  # 输出 True
# and 逻辑与
print(True and False) # 输出 False# 赋值运算符
print("-------------------赋值运算符 -------------------")
# 简单赋值
x = 10
print(x)  # 输出 10# 复合赋值
x += 5    # 等价于 x = x + 5
print(x)  # 输出 15x -= 3    # x = x - 3
print(x)  # 输出 12x *= 2    # x = x * 2
print(x)  # 输出 24x /= 4    # x = x / 4
print(x)  # 输出 6.0x %= 4    # x = x % 4
print(x)  # 输出 2.0x //= 0.5 # x = x // 0.5
print(x)  # 输出 4.0x **= 2   # x = x ** 2
print(x)  # 输出 16.0x = 16
x &= 5    # x = x & 5 (16 & 5 = 0)
print(x)  # 输出 0.0x |= 3    # x = x | 3 (0 | 3 = 3)
print(x)  # 输出 3.0x ^= 1    # x = x ^ 1 (3 ^ 1 = 2)
print(x)  # 输出 2.0x >>= 1   # x = x >> 1 (2 >> 1 = 1)
print(x)  # 输出 1.0x <<= 3   # x = x << 3 (1 << 3 = 8)
print(x)  # 输出 8.0

运算符和表达式应用

例子1:华氏温度转摄氏温度

要求:输入华氏温度将其转换为摄氏温度,华氏温度到摄氏温度的转换公式为: C = (F - 32) / 1.8 。

# `input`函数用于从键盘接收用户输入
# 用`float`函数将`str`类型处理成`float`类型f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))

例子2:计算圆的周长和面积

要求:输入一个圆的半径($\small{r}$),计算出它的周长( 2πr )和面积( πr2 )。

radius = float(input('请输入圆的半径: '))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print('周长: %.2f' % perimeter)
print('面积: %.2f' % area)

Python 中有一个名为math 的内置模块,该模块中定义了名为pi的变量,它的值就是圆周率。

import math
radius = float(input('请输入圆的半径: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f'周长: {perimeter:.2f}')
print(f'面积: {area:.2f}')

例子3:判断闰年

要求:输入一个 1582 年以后的年份,判断该年份是不是闰年。

注意:Python 的 calendar.isleap(year) 函数遵循格里高利历规则,1582 年之前的闰年因国家/地区而异(有的国家甚至到 20 世纪才改用格里高利历)。

year = int(input('请输入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(f'{is_leap = }')

 Python-分支结构

分支结构是编程中控制程序执行流程的重要结构,它允许程序根据不同的条件执行不同的代码块。Python中的分支结构主要通过ifelifelse语句实现。

1. 基本的if语句

最简单的分支结构是单个if语句,当条件为真时执行相应的代码块。

age = 18
if age >= 18:print("您已成年,可以进入")

2. if-else结构

当需要在条件不成立时执行另一段代码,可以使用if-else结构。

age = 16
if age >= 18:print("您已成年,可以进入")
else:print("您未成年,禁止进入")

3. if-elif-else结构

对于多个条件判断,可以使用if-elif-else结构。

score = 85if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 60:print("及格")
else:print("不及格")

4. 嵌套的if语句

可以在一个if语句块中嵌套另一个if语句。

age = 20
has_id = Trueif age >= 18:if has_id:print("年龄和证件符合要求,可以进入")else:print("年龄符合但无证件,禁止进入")
else:print("年龄不足,禁止进入")

5. 单行if语句(三元表达式)

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)

6. 布尔表达式中的逻辑运算符

可以在条件中使用andornot等逻辑运算符组合多个条件。

temperature = 25
humidity = 70if temperature > 30 and humidity > 80:print("天气又热又潮湿")
elif temperature > 30 or humidity > 80:print("天气要么热,要么潮湿")
else:print("天气舒适")

7. 分支结构中的代码块

Python使用缩进来表示代码块,同一缩进级别的语句属于同一个代码块。

x = 10
if x > 5:print("x大于5")  # 属于if代码块print("这是if代码块的第二行")  # 属于if代码块
print("这行代码不在if代码块中")  # 不属于if代码块

案例:

1、身体质量指数计算器

例如我们要写一个身体质量指数(BMI)的计算器。身体质量质数也叫体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个指标,计算公式如下所示。通常认为 18.5≤BMI<24 是正常范围, BMI<18.5 说明体重过轻, BMI≥24 说明体重过重, BMI≥27 就属于肥胖的范畴了。

BMI=体重/身高2 (说明:上面公式中的体重以千克(kg)为单位,身高以米(m)为单位。)

print("身体质量指数计算器")
height = float(input('身高(cm):'))
weight = float(input('体重(kg):'))
bmi = weight / (height / 100) ** 2
print(f'{bmi = :.2f}')
if 18.5 <= bmi < 24:print('你的身材很棒!')
else:print('你的身材不够标准哟!')

使用match和case构造分支结构

Python 3.10 中增加了一种新的构造分支结构的方式,通过使用matchcase 关键字,我们可以轻松的构造出多分支结构。

status_code = int(input('响应状态码: '))
match status_code:case 400: description = 'Bad Request'case 401: description = 'Unauthorized'case 403: description = 'Forbidden'case 404: description = 'Not Found'case 405: description = 'Method Not Allowed'case 418: description = 'I am a teapot'case 429: description = 'Too many requests'case _: description = 'Unknown Status Code'
print('状态码描述:', description)

分支结构的应用

例子1:分段函数求值

有如下所示的分段函数,要求输入x,计算出y

x = float(input('x = '))
if x > 1:y = 3 * x - 5
elif x >= -1:y = x + 2
else:y = 5 * x + 3
print(f'{y = }')
例子2:百分制成绩转换成等级

要求:如果输入的成绩在90分以上(含90分),则输出A;输入的成绩在80分到90分之间(不含90分),则输出B;输入的成绩在70分到80分之间(不含80分),则输出C;输入的成绩在60分到70分之间(不含70分),则输出D;输入的成绩在60分以下,则输出E

score = float(input('请输入成绩: '))
if score >= 90:grade = 'A'
elif score >= 80:grade = 'B'
elif score >= 70:grade = 'C'
elif score >= 60:grade = 'D'
else:grade = 'E'
print(f'{grade = }')
例子3:计算三角形的周长和面积。

要求:输入三条边的长度,如果能构成三角形就计算周长和面积;否则给出“不能构成三角形”的提示。

print("请输入三角形三边:")
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:perimeter = a + b + cprint(f'周长: {perimeter}')s = perimeter / 2area = (s * (s - a) * (s - b) * (s - c)) ** 0.5print(f'面积: {area}')
else:print('不能构成三角形')

相关文章:

  • 开源 Arkts 鸿蒙应用 开发(四)布局和常用控件
  • python中学物理实验模拟:杠杆平衡条件
  • Matlab 角点探测
  • [Python][Flask][Gunicorn] 搭建一个服务器-初步-小白式教程 - 1
  • 【强化学习】【笔记】【ch.10】GRPO / DAPO - 目前最优强化微调算法
  • ONLYOFFICE 文档 9.0 版本已发布:新界面、图表查看器、.md 文件支持、AI 表格与宏等更新
  • 【STM32 HAL库】使用HAL库操作FLASH
  • 【51单片机】8. 矩阵LED显示自定义图案、动画
  • Day04_数据结构(难点)
  • 实体零售遇冷!线上杂货将超车,eBay非食品类或迎12%增长红利?
  • 零售 EDI:Chewy EDI 项目注意事项
  • K-means++:让K-means“聪明”地选择初始中心点
  • RustDesk自建远程服务器
  • MO+内核32位普冉单片机PY32F003开发板
  • AndroidR平台ToastPresenter引出BinderProxy泄漏
  • BigDetection:改进目标检测器预训练的大规模基准之论文阅读
  • 边缘计算的认识和应用
  • 键盘 AK35I Pro V2 分析
  • ABP vNext + Azure Application Insights:APM 监控与性能诊断最佳实践
  • React Native WebView键盘难题:如何让输入框不被键盘遮挡?
  • 沈阳网红餐厅/南宁seo推广服务
  • 移动网站 html5/永久域名查询
  • 万网的成品网站/怎么买到精准客户的电话
  • 开封市住房和城乡建设网站/360网站推广怎么做
  • 见网页制作的公司网站/秦皇岛seo优化
  • 新开传奇网站发布网孞/深圳搜索seo优化排名