为什么以下python代码不能打印任何内容?
def modulo (spam):
if spam == 3 % 2:
print(spam)
答案 0 :(得分:1)
假设python代码正确缩进,可能不会打印任何内容,因为3%2
等于1
且spam
不能等于1
。
答案 1 :(得分:0)
条件spam == 3 % 2
似乎不正确,因此无法进入print(spam)
。尝试调试它。
答案 2 :(得分:0)
你应该回到基础,因为有两个部分需要注意,这对你来说应该是最基本的。第一个是==
运算符:
>>> a = 1
>>> b = 2
>>> print(a==b)
False
>>> a = 2
>>> print(a==b)
True
==
运算符与 boolean 值对应:True或False
第二个是%
运算符。 %
运算符将第一个数字除以第二个数字并返回余数。请采取以下措施,例如:
>>> 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.")