在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入门&进阶学习资源包》免费分享
本文转自 https://mp.weixin.qq.com/s/-veRCv-hWXHHShNtv9FepA,如有侵权,请联系删除。