我目前是一名参加蟒蛇课的大学生。我们的任务是用函数创建这个程序。 main函数调用菜单,然后我们在main函数中编写一个循环,根据菜单函数中的用户响应访问其他函数。
我似乎无法让我的循环工作。当我选择菜单选项时没有任何反应。现在,我只有print语句来测试函数的调用。我想在编写函数之前确保它有效。
如果有人有一个循环应该是什么样子来调用函数的例子,它会对我有所帮助。
def GetChoice():
#Function to present the user menu and get their choice
#local variables
UserChoice = str()
#Display menu and get choice
print()
print("Select one of the options listed below: ")
print("\tP\t==\tPrint Data")
print("\tA\t==\tGet Averages")
print("\tAZ\t==\tAverage Per Zone")
print("\tAL\t==\tAbove Levels by Zone")
print("\tBL\t==\tBelow Levels")
print("\tQ\t==\tQuit")
print()
UserChoice = input("Enter choice: ")
print()
UserChoice = UserChoice.upper()
return UserChoice
def PrintData():
print("test, test, test")
def AverageLevels():
print("test, test, test")
def AveragePerZone():
print("test, test, test")
def AboveLevels():
print("test, test, test")
def BelowLevels():
print("test, test, test")
def main():
Choice = str()
#call GetChoice function
GetChoice()
#Loop until user quits
if Choice == 'P':
PrintData()
elif Choice == 'A':
AverageLevels()
elif Choice == 'AZ':
AveragePerZone()
elif Choice == 'AL':
AboveLevels()
elif Choice == 'BL':
BelowLevels()
main()
答案 0 :(得分:3)
循环应该从以下开始:
while True:
Choice = GetChoice()
菜单的if条件应遵循相同的缩进。
如果要添加退出程序的选项,请添加另一个elif语句,如下所示:
elif Choice == "Q":
break
这将退出循环,从而结束程序。
(请原谅许多编辑 - 使用移动设备)
答案 1 :(得分:1)
您需要像这样分配Choice
变量,
Choice = GetChoice()
另外,请注意您也可以删除此行,
UserChoice = str()
在python中,您不需要显式指定变量类型。
最后,另一个小建议是将Choice.upper()
与代码底部的值进行比较。这样,如果有人进入' p'它仍会调用PrintData()
答案 2 :(得分:0)
您需要将GetChoice()函数的返回值赋给名称Choice:
Choice = GetChoice()