python基础知识之整除、取余、幂运算

本文详细介绍了Python中的基本数学运算,包括加减乘除、取模、幂运算等,并讲解了整数、浮点数和长整数的区别及使用方法,还涉及了十六进制和八进制的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字和表达式

python解释器可以当作计算器使用
>>>2+2
4

整数除法

一个整数被另一个整数除,计算结果的小数部分被截去,只保留整数部分。
如果参与除法的两个数中有一个为浮点数,运算结果为浮点数。
>>>1/2
0
>>>1.0/2.0
0.5
>>>1.0/2
0.5
>>>1/2.0
0.5
>>>1/2.
0.5

如果 希望只执行简单除法,例如1/2=0.5这样的,则可在程序前加上语句

from __future__ import division #fruture前后是两个下划线:__future__

使用上面语句,单斜线不再用作整除,双斜线实现整除操作。

>>>1.0//2.0
0.0
>>>1//2
0

取模运算

>>>1%2
1
>>>9%3
0
>>>2.75%0.5
0.25

幂运算

>>>2**3
8
>>>-3**2
-9
>>>(-3)**2
9

幂运算符比取反的优先级高 , -3**2相当于-(3**2)。

长整数

普通整数在-2^31~2^31-1(-2147 483 648至2147 483 647)之间,如果需要更大的数,就用长整数表示。长整数的书写方法和普通整数一样,但结尾有个L,理论上小写l也可以,但它看起来太像1,建议用L。长整数和普通整数可以混合使用。

>>>100000000000
100000000000L

>>>200000000000L
200000000000L

>>>200000000000L+1
200000000001L

十六进制和八进制

十六进制数以 0x为首,八进制数以0(零)为首。

>>>0xBA
186

>>>0xFE
254

>>>017
15

>>>077
63

7.3与7.2有区别:"/"为一般除法,长整数不带"L",八进制"0o"开头。


### Python整除运算符 `//` 的使用方法 在 Python 中,整除运算符 `//` 被称为地板除(Floor Division),其作用是对两个数值进行除法计算并返回商的 **整数部分**。无论操作数是正数还是负数,该运算都会向下整到最接近的结果[^1]。 #### 基本语法 ```python result = dividend // divisor ``` 其中: - `dividend` 表示被除数。 - `divisor` 表示除数。 如果 `divisor` 为零,则会引发 `ZeroDivisionError` 错误[^5]。 --- #### 示例代码展示 以下是几个典型的整除运算实例: ```python # 正数之间的整除 a = 10 b = 3 c = a // b # 结果为 3 print(f"{a} // {b} = {c}") # 输出:10 // 3 = 3 # 负数参与的整除 d = -10 e = 3 f = d // e # 结果为 -4 (向负无穷方向整) print(f"{d} // {e} = {f}") # 输出:-10 // 3 = -4 g = 10 h = -3 i = g // h # 结果为 -4 (同样向负无穷方向整) print(f"{g} // {h} = {i}") # 输出:10 // -3 = -4 j = -10 k = -3 l = j // k # 结果为 3 print(f"{j} // {k} = {l}") # 输出:-10 // -3 = 3 ``` 以上代码展示了不同情况下整除运算的行为特点。需要注意的是,在涉及负数的情况下,整除总是倾向于更小的方向整[^3]。 --- #### 浮点数的整除 当任意一方为浮点数时,整除运算仍然有效,但结果仍是一个浮点数形式表示的整数值。 ```python m = 10.5 n = 3 o = m // n # 结果为 3.0 print(f"{m} // {n} = {o}") # 输出:10.5 // 3 = 3.0 p = -10.8 q = 3 r = p // q # 结果为 -4.0 print(f"{p} // {q} = {r}") # 输出:-10.8 // 3 = -4.0 ``` 这表明即使输入中有浮点数,整除依然遵循向下整的原则。 --- #### 应用场景举例 整除运算常用于需要忽略小数部分或者分配资源等实际问题中。例如: ##### 场景一:分组数量计算 假设有一批物品总数为 `total_items`,每组最多容纳 `group_size` 件商品,那么可以利用整除来快速估算至少需要多少组才能完成分配。 ```python total_items = 25 group_size = 6 groups_needed = (total_items + group_size - 1) // group_size print(groups_needed) # 输出:5 ``` 这里 `(total_items + group_size - 1)` 是为了向上整而设计的小技巧[^2]。 ##### 场景二:时间转换 将秒数转化为分钟数或其他单位也可以借助整除实现。 ```python seconds = 12345 minutes = seconds // 60 hours = minutes // 60 print(f"{seconds} 秒等于 {hours} 小时 {minutes % 60} 分钟") # 输出:12345 秒等于 3 小时 25 分钟 ``` --- ### 总结 Python整除运算符 `//` 提供了一种简单高效的方式来进行地板除法操作。无论是处理正数、负数还是浮点数,它都能按照预期给出合理的答案,并广泛应用于各种实际编程需求之中。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值