Почему следующий код python ничего не печатает?Почему команда внизу ничего не печатает
def modulo (spam):
if spam == 3 % 2:
print(spam)
Почему следующий код python ничего не печатает?Почему команда внизу ничего не печатает
def modulo (spam):
if spam == 3 % 2:
print(spam)
Вы должны вернуться к основам, потому что есть две части, на которые нужно обратить внимание, это должно быть рудиментарным для вас к настоящему времени. Во-первых, оператор ==
:
>>> a = 1
>>> b = 2
>>> print(a==b)
False
>>> a = 2
>>> print(a==b)
True
==
Оператор соответствует булевых значений: истинным или ложным
второй является %
оператором. Оператор %
делит первое число на второе число и возвращает остаток. Возьмем, например, следующее:
>>> a = 1
>>> b = 2
>>> print(a%b) # 1/2 = 0 2's + 1 remainder
1
>>> print(b%a) # 2/1 = 2 1's + 0 remainder
0
Теперь на ваш код:
def modulo(spam):
if spam == 3 % 2: # if spam is one (3/2 = one 2, plus 1 remainder)
print(spam)
else: # I'd add this, so you know the method is being run
print("Spam is not 1.")
Очень спасибо за ваш ответ! – iratxe
извините ... Я думаю, что это, иначе: print ("2% 3") ?? – iratxe
Это зависит от того, что вы хотите. Если вы хотите напечатать строку «2% 3», то это то, что она будет делать. Если вы хотите напечатать результат 2% 3 (это 2), вы напечатаете 'print (2% 3)' – ATLUS
кажется, что условие spam == 3 % 2
не верно, так что не будет вступать в print(spam)
. Попробуйте отладить его.
Если предположить, что код питона отступом правильно, ничего, вероятно, не печатается, потому что 3%2
равно 1
и spam
не должна быть равна 1
.
что вы пытаетесь архивировать с этим кодом? – DZDomi
Кто такой вздор? – Idos
Hallo, я изучаю python с codecademy, и вопрос в том, что я должен написать синтаксис Python – iratxe