为什么会出现语法错误

这是给我elif语句的语法错误,但是我不知道为什么。请帮助我。

选择 | 换行 | 行号
  1. miles = 0.0
  2. kilometers = 0.0
  3. def show_menu():
  4.     print("1. Convert miles into kilometers.")
  5.     print("2. Convert kilometers into miles.")
  6.     print("3. Exit")
  7.  
  8. def convert_miles_to_kilometers(miles):
  9.     miles* 1.609
  10.     return kilometers
  11. def convert_kilometers_to_miles(kilometers):    
  12.     kilometers * 0.621
  13.     return miles
  14. show_menu
  15. choice = int(raw_input("Enter a choice [1-3]: "))    
  16. if choice == 1:
  17.     miles = float(raw_input("How many miles? "))
  18.     kilometers = convert_miles_to_kilometers(miles)
  19.     print ("%f miles is %f kilometers." %  (miles, kilometers)
  20. elif choice == 2:
  21.     kilometers = float(raw_input("How many kilometers? "))
  22.     miles = convert_kilometers_to_miles(kilometers)
  23.     print("%f kilometers is %f miles." % (kilometers, miles))
  24. else:
  25.     print("Good-bye!")
  26.  
# 回答1

首先,我们要看错误消息本身,所以我们不需要遍历所有可能的错误,看看是否有任何申请。第二,你总是想检查前一行之前发布。如果你没有正确格式化的,译员可以认为这条线是上一行的延续。请注意,有其他程序中的语法错误。你应该测试每个函数创建它,在代码之前下一个函数。

选择 | 换行 | 行号
  1. miles = 0.0
  2. kilometers = 0.0
  3. def show_menu():
  4.     print("1. Convert miles into kilometers.")
  5.     print("2. Convert kilometers into miles.")
  6.     print("3. Exit")
  7.  
  8. def convert_miles_to_kilometers(miles):
  9.     miles* 1.609
  10.     return kilometers
  11. def convert_kilometers_to_miles(kilometers):    
  12.     kilometers * 0.621
  13.     return miles
  14. show_menu
  15. choice = int(raw_input("Enter a choice [1-3]: "))    
  16. if choice == 1:
  17.     miles = float(raw_input("How many miles? "))
  18.     kilometers = convert_miles_to_kilometers(miles)
  19.     print ("%f miles is %f kilometers." %  (miles, kilometers)
  20.     #
  21.     # if you get an error message for this line, instead of
  22.     # the "elif", you know the error is on the previous line
  23.     print("test message")
  24. elif choice == 2:
  25.     kilometers = float(raw_input("How many kilometers? "))
  26.     miles = convert_kilometers_to_miles(kilometers)
  27.     print("%f kilometers is %f miles." % (kilometers, miles))
  28. else:
  29.     print("Good-bye!")
# 回答2

安德森,我阅读你的代码,而不是把它通过编译器,所以我可能会错过一些东西。行9和12看起来应该作业公里和英里,分别。同时,看来线19丢失了一个括号。请下次你发布一个问题错误,把错误消息。我敢肯定,python告诉你哪里错误,所以回去读,看他们是否有意义的消息。你给我们的更多的信息,我们可以帮助你。好运吧!
# 回答3

非常感谢我已经一遍又一遍代码并没有看到19行)。唯一说的是语法错误,这是显示第20行。
# 回答4

现在它不是印刷我的菜单。我怎么调用这个函数?第14行
# 回答5

不用担心——在许多语言,语法错误往往会出现线后实际的错误。这是因为他们希望完成的声明中,它不是;相反,一个奇怪的令牌它预计不会出现。由于错误显示不完整的语句是第二行,首先在....是错误的标记这说得通吗?我认为你需要使用一对括号后面你的电话show_menu行14:

选择 | 换行 | 行号
  1. show_menu()

好运吧!

# 回答6

非常感谢你的帮助!

标签: python

添加新评论