簡體   English   中英

python:----如果不是(p%q)的含義:

[英]python : meaning of -----if not (p%q):

這是我從紙上得到的代碼,

我想知道的意思

如果不是 (p%q)

x = 0
p = 2
while(p<7):
  q=2
  while(q<p):
    if not (p%q):q=p
    q+=1
  if(q>p):x+=p
  p+=1
print(x)`

條件not (p % q)等價於p % q == 0

對於數字,零是“假的”,所有其他的都是“真”: https://docs.python.org/3/library/stdtypes.html#truth 因此,我們有

p % q == 0 ” iff(即當且僅當)“ p % q is False ” iff “ not (p % q) is True ”。

因此, if p % q == 0:等價於if not (p % q) is True: ,這又等價於if not (p % q): ,因為is True部分可以省略。

它本質上是說if True (如果模== 0)。 模符號 (%) 獲取除法的余數。 模運算符 (%) 被認為是算術運算。 因此,由於它正在執行2/2 ,因此我們得到模數 0。現在該語句是if not 0:

話雖如此,Python 中有真值和假值:

評估為 False 的值被認為是 Falsy。 評估為 True 的值被認為是真實的。

一些真實的價值觀包括:

  • 非空序列或 collections

  • 不為零的數值。

一些虛假值包括:

  • 任何數字類型的零。
  • 空序列或 collections
  • 無和假

因此,代碼現在轉換if not False: (If the modulo,= 0),這與if True (If the modulo == 0) 相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM