因此,我试图编写一个使用函数来创建用于用户输入的菜单的代码。基本上,这只是输入您想要的美元数量,然后选择将其转换为哪种货币。我绝对迷路了,因为每次尝试运行这段代码之前,我都会输入“ 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)
希望有人可以帮助我,因为我没有想法
答案 0 :(得分:0)
您永远不会运行或从DollarConvert()运行,也不会从任何一个函数接收输出。更改函数以返回值,如下所示:
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: "))
return selection, dollars
def DollarConvert(selection, dollars):
if selection == "1":
return = dollars * 0.921
elif selection == "2":
return = dollars * 0.807
elif selection == "3":
return dollars * 24.246
elif selection == "4":
return dollars * 7.085
elif selection == "5":
return dollars * 108.03
elif selection == "6":
quit
elif selection > 6:
print("Invalid input.")
return None
selection, dollars = DisplayMenu()
conversion = DollarConvert(selection, dollars)
print("$ ",dollars," = ",chr(8364),conversion)
我们去。
答案 1 :(得分:0)
在您的代码中,dollars变量的范围仅限于该函数内部。您必须从函数中返回美元以使其可访问。此外,从不调用美元转换函数,因此需要调用它。您还需要为转换变量添加return语句。返回对于大多数所有功能都是必不可少的,否则数据会丢失。
答案 2 :(得分:0)
您也可以使用全局关键字
dollars = None
conversion = None
def DisplayMenu():
global dollars
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 = input("Enter your selection: ")
dollars = int(input("Enter the dollar amount to convert: "))
DollarConvert(selection, dollars)
def DollarConvert(selection, dollars):
global conversion
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)
此外,第12和13行还有一个错误,即
selection = int(input("Enter your selection: "))
更改为
selection = input("Enter your selection: ")
和
dollars = eval(input("Enter the dollar amount to convert: "))
更改为
dollars = int(input("Enter the dollar amount to convert: "))