ora*_*nge 229 python syntax operators modulo python-2.7
什么是%在计算?我似乎无法弄清楚它的作用.
例如,它是否计算出计算的百分比:4 % 2显然等于0.如何?
med*_*iev 289
%(modulo)运算符从第一个参数除以第二个参数得到余数.数字参数首先转换为通用类型.零右参数会引发ZeroDivisionError异常.参数可以是浮点数,例如,3.14%0.7等于0.34(因为3.14等于4*0.7 + 0.34.)模运算符总是产生与第二个操作数(或零)具有相同符号的结果; 结果的绝对值严格小于第二个操作数的绝对值[2].
取自http://docs.python.org/reference/expressions.html
示例1:
6%2求值为,0因为如果将6除以2(3次)则没有余数.
示例2:7%2求值为,1因为1当7除以2(3次)时有余数.
总而言之,它返回除法运算的剩余部分,或者0如果没有余数.所以6%2意味着找到6的余数除以2.
mrm*_*oey 137
有点偏离主题,%它也用于字符串格式化操作,比如%=将值替换为字符串:
>>> x = 'abc_%(key)s_'
>>> x %= {'key':'value'}
>>> x
'abc_value_'
Run Code Online (Sandbox Code Playgroud)
同样,偏离主题,但它似乎是一个小记录功能,它花了一段时间来跟踪,并且我认为这是有关Python的模数计算的此SO页面高度行列.
Pau*_*ine 53
像表达式一样x % y计算其余部分x ÷ y.优先级与运算符%(除法)和/(乘法)相同.
>>> 9 / 2
4
>>> 9 % 2
1
Run Code Online (Sandbox Code Playgroud)
Python问题:取决于您使用的Python版本,*也是(已弃用的)字符串插值运算符,因此请注意您是否来自具有自动类型转换(如PHP或JS)的语言,其中表达式%是合法的:in Python会导致'12' % 2 + 3你可能会非常困惑.
[Python 3更新]
用户n00p评论:
python中的9/2是4.5.你必须像这样进行整数除法:9 // 2如果你想让python告诉你在除法之后剩下多少整个对象(4).
确切地说,整数除法曾经是Python 2中的默认值(请注意,这个答案比我已经在学校的男孩要老):
$ python2.7
Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 9 / 2
4
>>> 9 // 2
4
>>> 9 % 2
1
Run Code Online (Sandbox Code Playgroud)
在Python 3中现在的TypeError: not all arguments converted during string formatting结果9 / 2确实如此,但请记住,原始答案是非常古老的.
$ python3.6
Python 3.6.1 (default, Apr 27 2017, 00:15:59)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 9 / 2
4.5
>>> 9 // 2
4
>>> 9 % 2
1
Run Code Online (Sandbox Code Playgroud)
小智 48
模数是一种数学运算,有时被称为"时钟运算".我发现将其描述为简单的余数是误导和混淆,因为它掩盖了它在计算机科学中如此广泛使用的真正原因.它确实用于包裹周期.
想想时钟:假设你在"军事"时间看一个时钟,其时间范围从0:00到23.59.现在,如果您希望每天午夜都能发生某些事情,那么您希望当前时间模式24为零:
if(小时%24 == 0):
你可以把历史上的所有时间都想象一遍又一遍地围绕着24小时的圈子,当天的当前时刻是无限长的数字模型24.它是一个更加深刻的概念,而不仅仅是一个余数,它是一种数学方式处理周期,这在计算机科学中非常重要.它还用于环绕数组,允许您在到达数组末尾后增加索引并使用模数回绕到开头.
Python - 基本运算符
http://www.tutorialspoint.com/python/python_basic_operators.htm
模数 - 用左手操作数除左手操作数并返回余数
a = 10,b = 20
b%a = 0
在大多数语言中,%用于模数.Python也不例外.
小智 5
%modulo运算符也可用于打印字符串(就像在C中一样),如Google https://developers.google.com/edu/python/strings上所定义.
# % operator
text = "%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')
Run Code Online (Sandbox Code Playgroud)
这似乎有点偏离主题但它肯定会帮助某人.