因此,我试图编写一个使用函数来创建用户输入菜单的代码。基本上,这只是输入您想要的美元数量,然后选择将其转换为哪种货币。我绝对迷路了,因为每次我尝试运行这段代码之前,我都会输入“ 1”并说“ 20美元”,例如,它告诉我“当我明确将其作为用户输入时,则未定义”。
def DisplayMenu():
print("Choose a menu option:")
print("1. European Euro")
print("2. British Pound")
print("3. Mexican Peso")
print("4. Chinese Yuan")
print("5. Japanese Yen")
print("6. Quit")
selection = int(input("Enter your selection: "))
dollars = eval(input("Enter the dollar amount to convert: "))
def DollarConvert(selection, dollars):
if selection == "1":
conversion = dollars * 0.921
elif selection == "2":
conversion = dollars * 0.807
elif selection == "3":
conversion = dollars * 24.246
elif selection == "4":
conversion = dollars * 7.085
elif selection == "5":
conversion = dollars * 108.03
elif selection == "6":
quit
elif selection > 6:
print("Invalid input.")
DisplayMenu()
print("$ ",dollars," = ",chr(8364),conversion)
希望有人可以帮助我,因为我没有想法
您从不会运行或从DollarConvert()运行,也不会从任何一个函数接收输出。更改函数以返回值,如下所示:
def DollarConvert(selection, dollars):
if selection == "1":
return dollars * 0.921
elif selection == "2":
return dollars * 0.807
等然后只需将变量设置为其输出即可。
您正准备引用未在打印语句中分配的转换变量。您可以重新排列代码并按如下所示打印结果:
def DisplayMenu():
print("Choose a menu option:")
print("1. European Euro")
print("2. British Pound")
print("3. Mexican Peso")
print("4. Chinese Yuan")
print("5. Japanese Yen")
print("6. Quit")
selection = int(input("Enter your selection: "))
dollars = eval(input("Enter the dollar amount to convert: "))
conversion = DollarConvert(selection, dollars)
print("$ ",dollars," = ",chr(8364),conversion)
def DollarConvert(selection, dollars):
if selection == "1":
conversion = dollars * 0.921
elif selection == "2":
conversion = dollars * 0.807
elif selection == "3":
conversion = dollars * 24.246
elif selection == "4":
conversion = dollars * 7.085
elif selection == "5":
conversion = dollars * 108.03
elif selection == "6":
quit
elif selection > 6:
print("Invalid input.")
DisplayMenu()