一分钟看懂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}.")


点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

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

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值