在函数 - Python 中完成启动菜单



>我正在尝试完成这个包含五个不同选项的函数的编写,并使用 While 循环允许用户输入他们的选择,条目"5"退出循环。以下是我到目前为止的代码,我在完成def_main函数中的菜单部分时遇到问题。else: break后我不断收到错误

任何意见将不胜感激。感谢您的阅读。

def main():
menuOption = 0
while 1 == 1:
print("1. Expanded Sumn2. Reverse Expanded Sumn3. Reverse Integern4. Product Tablen5. Exitn")
menuOption = int(input("Enter correct menu option: "))
while menuOption<1 or menuOption>5:
print("Incorrect menu option!!")
menuOption = int(input("Enter correct menu option: "))
if menuOption == 5:
return
while 1 == 1:
num = int(input("Enter positive Integer: "))
if num <= 0:
print("You have entered negative integer or zero.")
continue
else:
break
if menuOption == 1:
printSum(num, int(False))
elif menuOption == 2:
printSum(num, int(True))
elif menuOption == 3:
print(str(reverseInt(num)))
elif menuOption == 4:
printProductTable(num)
if __name__ == "__main__": main()
def printSum(n, reverse):
s = sum(range(n+1))
if reverse:
print('+'.join(str(i) for i in range(1, n+1)) + ' = ' + str(s))
else:
print('+'.join(str(i) for i in range(n, 0, -1)) + ' = ' + str(s))
def reverse_int(n):
Reverse = 0
while(n > 0):
Reminder = n %10
Reverse = (Reverse *10) + Reminder
n = n //10
print(Reverse)
def printProductTable(n):
for row in range(1,n+1):
print(*("{:3}".format(row*col) for col in range(1, n+1)))

你在休息时遇到的错误是什么?

看起来您的间距可能在继续中关闭,我假设您的其他位置转到语句顶部的 if,但您的继续与它不匹配。

与其做while 1==1不如写while True.而且您已经检查了while menuOption<1 or menuOption>5.因此,如果您的menuOption是负数,则它已经属于这种情况,例如-2 < 1

而且似乎您的代码没有格式化。意味着,continue就在else之上.它将生成错误。重新格式化您的代码。给出适当的缩进。

最新更新