Mám tento kód je z papíru.
Chtěl bych vědět význam:
if not (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)`
Mám tento kód je z papíru.
Chtěl bych vědět význam:
if not (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)`
To je v podstatě říká, if True
(Pokud modulo == 0). Modulo znamení (%) dostane zbytek po dělení. Operátor modulo (%), je považován za aritmetické operace. Takže od té doby to dělá 2/2
jsme si modulo 0. Nyní prohlášení je if not 0:
.
Tím bylo řečeno, tam jsou pravdivý a falsy hodnoty v Pythonu:
Hodnoty, které se vyhodnotí na False, jsou považovány za Falsy. Hodnoty, které se vyhodnotí na True, jsou považovány za Pravdivý.
Některé pravdivý hodnoty patří:
Non-prázdné sekvence nebo sbírky
Číselné hodnoty, které jsou ne nulové.
Některé falsy hodnoty patří:
Takže ten kód se překládá if not False:
(Pokud modulo != 0), což je stejné jako if True
(Pokud modulo == 0).
Stav not (p % q)
je ekvivalentní k p % q == 0
.
Pro čísla, nula je "falsy" a všichni ostatní jsou "pravdivý": https://docs.python.org/3/library/stdtypes.html#truth. Proto jsme
"p % q == 0
"iff (tj. pokud a pouze pokud) "p % q is False
"iff "not (p % q) is True
".
Proto, if p % q == 0:
je ekvivalentní k if not (p % q) is True:
, což je zase ekvivalentní if not (p % q):
od is True
část může být vynechána.