在本教程中,有一个查找素数的示例:
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'equals', x, '*', n//x)
... break
... else:
... # loop fell through without finding a factor
... print(n, 'is a prime number')
...
我知道double==
是对相等性的测试,但我不理解if n % x
部分。就像我可以口头地浏览每一部分,然后说出陈述对例子的作用一样。但我不明白百分号是怎么落进去的。
if n % x
到底说了什么?
%做两件事,这取决于它的参数。在这种情况下,它充当模运算符,这意味着当它的参数是数字时,它将第一个除以第二个,并返回余数。
34 % 10 == 4
因为34除以10等于3,余数为4。如果第一个参数是字符串,则使用第二个参数对其进行格式化。这有点复杂,所以我将引用documentation,但仅作为一个示例:
但是,从Python 3.1开始,字符串格式化行为得到了补充,有利于字符串
.format()
机制:值得庆幸的是,从Python2.6开始,几乎所有的新特性都是可用的。
虽然这有点离题,但是由于人们会通过在Python中搜索“percentage sign”(正如我所做的那样)来找到它,所以我想指出,%符号还用于在iPython中作为“magic”函数的前缀:https://ipython.org/ipython-doc/3/interactive/tutorial.html#magic-functions
模运算符;给出左值除以右值的余数。比如:
3 % 1
等于零(因为3除以1)3 % 2
将等于1(因为3除以2将得到1的余数)。相关问题 更多 >
编程相关推荐