以下是我的代码:
menu= "Welcome to the menu\n" \
+ "Please select an option below:\n" \
+ ( "0 - Enter a number\n" + "1 - Display current number\n" + \
"2 - Divisibility checking\n" + "3 - Perfect checking\n" + \
"4 - Triangular checking\n" + "5 - Quit\n" )
x == ("")
while option!=5: # <<< Q2
print(menu)
option= int(input("Enter option: "))
if option==0:
x= int(input("What is your number?: "))
while x <=0:
x= int(input("Must be positive, please! What is your number?: ")
elif option==1: # <<< Q1
print("The current number is", x)
elif (x == ""):
print("No number yet - Please input a number and try again.")
x= int(input("What is your number?: "))
Q1:
我想知道为什么我不断收到line 14
我的代码的错误消息,以及第二个elif
语句。
Q2:
我还想知道,对于我的第一个while
声明,我可能会定义&#34; option
&#34;如果我还没有提示用户输入选项,则option!=5
然后print
菜单。
对这两种情况的任何帮助都会非常感激。
谢谢。
答案 0 :(得分:0)
关于你的第二个elif声明,我认为你的嵌套错了。
您有一个外部决策树,您可以在其中查看可用选项,树是:
if option == 0 --> do a
elif option == 1 --> do b
elif option == 2 --> do c and so on
你不需要in inner elif,因为它不是所选选项的else语句。您刚刚开始一个新的决策树(您试图找到x是否已经分配,如果没有请求数字,否则显示数字)。因此,正确的代码应该是:
elif option == 1:
if x == "":
print("No number yet - Please input a number and try again.")
x= int(input("What is your number?: "))
else:
print("The current number is", x)
elif option == 2
--> Handling of option 2
这应该有效。我首先把if语句放在首位,否则你会得到输出
"The current number is "
"No number yet - Please input a number and try again."...
我认为这几乎就是伊格纳西奥所说的,当他问道,你是否知道这些精灵所属的时候。