为什么以下命令不打印任何内容

时间:2016-02-04 18:25:40

标签: python printing

为什么以下python代码不能打印任何内容?

def modulo (spam):
   if spam == 3 % 2: 
      print(spam)

3 个答案:

答案 0 :(得分:1)

假设python代码正确缩进,可能不会打印任何内容,因为3%2等于1spam不能等于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.")