一分钟看懂Python中的//, /, %的作用和区别

在python中,我们经常需要对数字进行一些基本的运算,比如加、减、乘、除等。为了实现这些运算,我们可以使用一些特殊的符号,称为算术运算符。

例如,我们可以用+号表示加法,用-号表示减法,用*号表示乘法,用/号表示除法等。这些运算符都遵循一定的语法规则和优先级顺序,我们可以用它们来构建复杂的数学表达式。

为//、/、%的区别

除了上面提到的四个基本的算术运算符,python还提供了另外三个有用的运算符://, /, %。它们分别表示整除、除法和取余。它们的作用和区别如下:

整除(//):整除运算符返回两个数字相除后的商的整数部分。例如,17 // 4 的结果是 4,因为 17 除以 4 的商是 4.25,而整数部分是 4。如果两个数字中有一个是浮点数(小数),则返回的结果也是一个浮点数,但是小数部分会被舍去。例如,17.0 // 4 的结果是 4.0,因为 17.0 除以 4 的商是 4.25,而小数部分被舍去后是 0。

除法(/):除法运算符返回两个数字相除后的商的精确值。无论两个数字是什么类型,返回的结果都是一个浮点数(小数)。例如,17 / 4 的结果是 4.25,因为 17 除以 4 的商就是 4.25。如果两个数字都是整数,并且能够整除,则返回的结果也是一个浮点数,但是小数部分会是 0。例如,16 / 4 的结果是 4.0,因为 16 除以 4 的商是 4,而小数部分是 0。

取余(%):取余运算符返回两个数字相除后的余数。例如,17 % 4 的结果是 1,因为 17 除以 4 的余数是 1。如果两个数字中有一个是浮点数,则返回的结果也是一个浮点数。例如,17.5 % 4 的结果是 1.5,因为 17.5 除以 4 的余数是 1.5。

为什么需要整除、除法和取余

那么,为什么我们需要这三个运算符呢?有哪些情况下我们会用到它们呢?下面举几个例子来说明:

**计算商和余数:**有时候,我们需要知道两个数字相除后的商和余数,比如在做分数或者比例的计算时。我们可以用//和%这两个运算符来得到商和余数,并且可以根据商和余数来还原原来的被除数。例如,如果我们知道 a // b = c 和 a % b = d,则我们可以推出 a = b * c + d。

**判断奇偶性:**有时候,我们需要判断一个数字是否是奇数或偶数,比如在做一些逻辑或者编程题时。我们可以用%这个运算符来判断一个数字除以2的余数,如果余数是0,则说明这个数字是偶数,如果余数是1,则说明这个数字是奇数。例如,如果我们知道 n % 2 = 0,则我们可以推出 n 是一个偶数。

**转换进制:**有时候,我们需要将一个十进制的数字转换为其他进制的数字,比如二进制、八进制或十六进制等。我们可以用//和%这两个运算符来实现这个转换,具体的方法是不断地用目标进制的基数去除原来的数字,并将每次得到的余数作为新进制的一位,直到商为0为止。例如,如果我们想将13转换为二进制,我们可以用以下的步骤:

  • 用2去除13,得到商6和余数1,将余数1作为二进制的最低位

  • 用2去除6,得到商3和余数0,将余数0作为二进制的次低位

  • 用2去除3,得到商1和余数1,将余数1作为二进制的次高位

  • 用2去除1,得到商0和余数1,将余数1作为二进制的最高位

将得到的四个余数从高到低拼接起来,得到二进制的结果1101。

如何使用整除、除法和取余

要使用//, /, %这三个运算符,我们需要遵循一定的语法规则。具体如下:

语法:a // b, a / b, a % b

参数:a和b是两个数字,可以是整数或浮点数

返回值://运算符返回一个整数或浮点数,表示商的整数部分;/运算符返回一个浮点数,表示商的精确值;%运算符返回一个整数或浮点数,表示余数。

注意事项:如果传入的两个参数长度不一致,则返回的结果长度与最短的参数相同;如果没有传入任何参数,则返回一个空的结果。

案例应用

案例一

# 定义两个数字``a = 17
b = 4# 使用//运算符计算商的整数部分,并打印结果
quotient = a // b
print(f'The quotient of {a} and {b} is {quotient}')
# 使用/运算符计算商的精确值,并打印结果
exact_quotient = a / b
print(f'The exact quotient of {a} and {b} is {exact_quotient}')# 使用%运算符计算余数,并打印结果
remainder = a % b
print(f'The remainder of {a} and {b} is {remainder}')

案例二

# 定义一个数字``n = 42# 使用%运算符计算n除以2的余数,并赋值给m
m = n % 2# 判断m是否等于0
if m == 0:# 如果等于0,说明n是偶数,并打印结果
print(f'{n} is an even number')
else:# 如果不等于0,说明n是奇数,并打印结果
print(f'{n} is an odd number')

案例三

# 定义一个十进制数字
decimal = 13# 创建一个空字符串,用来存储二进制数字
binary =# 使用while循环,当decimal大于0时重复执行
while decimal > 0:# 使用%运算符计算decimal除以2的余数,并将其转换为字符串
bit = str(decimal % 2)
print(bit)#将余数添加到二进制字符串
binary=bit+binary#将decimal整除以2,继续下一轮循环
decimal//=2
print(f"十进制数{decimal}的二进制表示为{binary}.")

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉 CSDN大礼包:gift::[全网最全《Python学习资料》免费赠送:free:!](https://blog.csdn.net/weixin_68789096/article/details/132275547?spm=1001.2014.3001.5502) (安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉 CSDN大礼包:gift::[全网最全《Python学习资料》免费赠送:free:!](https://blog.csdn.net/weixin_68789096/article/details/132275547?spm=1001.2014.3001.5502) (安全链接,放心点击)

若有侵权,请联系删除