为什么Python不打印我的代码?
我道歉,如果这是愚蠢的,但已经找了大约30分钟,看不出我做错了什么为什么Python不打印我的代码?,python,Python,我道歉,如果这是愚蠢的,但已经找了大约30分钟,看不出我做错了什么 def biggestnumber( num1, num2 ): if num1 > num2: print num1, "is greater than", num2 else: print num2, "is greater than", num1 biggestnumber(45, 21) 它抱怨print需要一个缩进块,但它是缩进的 错误消息: File "mai
def biggestnumber( num1, num2 ):
if num1 > num2:
print num1, "is greater than", num2
else:
print num2, "is greater than", num1
biggestnumber(45, 21)
它抱怨print需要一个缩进块,但它是缩进的
错误消息:
File "main.py", line 3
print num1, "is greater than", num2
^
IndentationError: expected an indented block
在biggestnumber()函数的第3行尝试以下操作:
print "%d is greater than %d"%(num1, num2)
制表符或空格对我来说没有什么区别,只是在print函数周围放了()就可以了
def biggestnumber(num1, num2):
if num1 > num2:
print (num1, "is greater than", num2)
else:
print (num2, "is greater than", num1)
biggestnumber(45, 21)
在线演示:
在我的ide上,这个错误通常意味着我有一个ascii未打印字符,可以通过重写行或用符号显示未打印字符来修复 您不需要在print语句周围添加()。代码的工作原理与上面的代码完全相同,并且已经过测试。问题是你混合了标签和空格。如果将()放在上面列出的print语句周围,它实际上会在控制台中打印它们
>>> (45, 'is greater than', 21)
def biggestnumber( num1, num2 ):
if num1 > num2:
print num1, "is greater than", num2
else:
print num2, "is greater than", num1
biggestnumber(45, 21)
您的代码打印如下:
>>> 45 is greater than 21
您是否尝试在打印内容周围添加括号?对我来说很好,请确保缩进中没有混合制表符和空格。@Thomas那么错误将是调用“打印”时缺少括号。,而不是关于缩进块的错误对我来说也很好,你能粘贴错误信息吗?这几乎可以肯定是制表符和空格混合的结果。您应该始终使用制表符或空格进行缩进,并且不要将它们混在一起。如果缺少
(
错误可能是语法错误:调用“print”时缺少括号。
这不是OP遇到的问题。@Leb我知道这一点,但是如果OP要尝试此代码,我相当肯定它会工作。我知道您的代码可以工作,但您的解决方案是添加()
这不是解决方案。您所做的是修复缩进,您可以添加缩进作为答案。如果您拿走您的实时演示并拿走您声称是解决方案的()
,您将得到与我在第一条评论中提供的相同错误。而不是OP得到的错误。