你好我是python的初学者,我正在努力学习,这是我在执行下面的代码时一直打的,哪里是错误
#!/usr/bin/python
def main():
num1=input("Enter the 1st #\t\t")
print "First # is\t:", num1
print
num2=input("Enter the 2nd #\t\t")
print "Second # is\t:",num2
print
num3=input("Enter the 3rd #\t\t")
print "3rd #is:,\t",num3
if(num1>num2) and (num1>num3):
print"Highest # is:\t",num1
elif(num2>num3) and (num2 >num1):
print"Highest # is:\t",num2
else:
print "The WINNER IS\n"
print num3
main()
错误:
python 1.py
File "1.py", line 4
num1=input("Enter the 1st #\t\t")
^
IndentationError: expected an indented block
我缺少的缩进在哪里?
答案 0 :(得分:2)
您应该使用空格或制表符缩进主要功能。 (推荐4个空格)
像这样:
def main()
num=input()
# rest of your main code
main()
我看到你已经为if / else做了这个,你也应该为函数做。
我建议你参加像codecademy那样的初学python课程。
答案 1 :(得分:2)
你将对主函数进行缩进,我在这里重写你的代码:
逻辑行开头的前导空格(空格和制表符)用于计算行的缩进级别,而后者又用于确定语句的分组。
您可以使用Python doc。了解有关Python的更多信息,以及使用IDE(如ATOM或PyCharm)进行更好的编码。
def main():
num1=input("Enter the 1st #\t\t")
print "First # is\t:", num1
print
num2=input("Enter the 2nd #\t\t")
print "Second # is\t:",num2
print
num3=input("Enter the 3rd #\t\t")
print "3rd #is:,\t",num3
if(num1>num2) and (num1>num3):
print"Highest # is:\t",num1
elif(num2>num3) and (num2 >num1):
print"Highest # is:\t",num2
else:
print "The WINNER IS\n"
print num3
main()
答案 2 :(得分:2)
缩进代码。
在python中,你总是必须在冒号(:)之后缩进代码,否则它不知道执行它的顺序。 只需在def main()之后缩进所有内容:
答案 3 :(得分:1)
def main()下的所有代码:在调用main()时除了行之外应该缩进