菜单1,2,3,4选项

时间:2014-04-23 15:22:17

标签: python python-3.3

我之前问过这个问题,但没有回答(我的错,我没有提出问题)。我需要创建一个包含4个选项的菜单,但我不知道如何将user_input链接到实际的1,2,3,4程序。请帮帮....

Chelsea_Salaries_2014 = {'Jose Mourinho':[53, 163500, 'Unknown']}
Chelsea_Salaries_2014['Eden Hazard']=[22, 185000, 'June 2017']
Chelsea_Salaries_2014['Fernando Torres']=[29, 175000, 'June 2016']
Chelsea_Salaries_2014['John Terry']=[32, 175000, 'June 2015']
Chelsea_Salaries_2014['Frank Lampard']=[35, 125000, 'June 2014']
Chelsea_Salaries_2014['Ashley Cole']=[32, 120000, 'June 2014']
Chelsea_Salaries_2014['Petr Cech']=[31, 100000, 'June 2016']
Chelsea_Salaries_2014['Gary Cahill']=[27, 80000, 'June 2017']
Chelsea_Salaries_2014['David Luiz']=[26, 75000, 'June 2017']
Chelsea_Salaries_2014['John Obi Mikel']=[26, 75000, 'June 2017']
Chelsea_Salaries_2014['Nemanja Matic']=[25, 75000, 'June 2019']
Chelsea_Salaries_2014['Marco Van Ginkel']=[20, 30000, 'June 2018']
Chelsea_Salaries_2014['Ramires']=[26, 60000, 'June 2017']
Chelsea_Salaries_2014['Oscar']=[21, 67500, 'June 2017']
Chelsea_Salaries_2014['Lucas Piazon']=[19, 15000, 'June 2017']
Chelsea_Salaries_2014['Ryan Bertrand']=[23, 35000, 'June 2017']
Chelsea_Salaries_2014['Marko Marin']=[27, 35000, 'June 2017']
Chelsea_Salaries_2014['Cesar Azpilicueta']=[23, 55000, 'June 2017']
Chelsea_Salaries_2014['Branislav Ivanovic']=[29, 67500, 'June 2016']
Chelsea_Salaries_2014['Ross Turnbull']=[22, 17000, 'June 2017']
Chelsea_Salaries_2014['Demba Ba']=[28, 65000, 'June 2016']
Chelsea_Salaries_2014['Oriol Romeu']=[22, 15000, 'June 2015']

user_input = (int('Welcome! What would you like to do? 1: Print the total salaries bill. 2: Print the average salary. 3: Change a players salary. 4: Quit. '))

if user_input == 1:
    print(sum(i[1] for i in Chelsea_Salaries_2014.values()))
else:
    if user_input == 2:
       print(sum(i[1] for i in Chelsea_Salaries_2014.values()))/len(Chelsea_Salaries_2014)
    else:
        if user_input == 3:
            def change_salary(Chelsea_Salaries_2014):
                search_input = input('What player would you like to search for? ')
                print('His Current Salary is £{0:,}'.format(Chelsea_Salaries_2014[search_input][1]))
                new_salary = int(input('What would you like to change his salary to? '))
            if new_salary <= 200000:
                Chelsea_Salaries_2014[search_input][1] = new_salary
                print('Salary has been changed to £{0:,}'.format(new_salary))
            else:
                print('This salary is ridiculous!')

            while True:
                change_salary(Chelsea_Salaries_2014)
                choice = input("Go again? y/n ")
                if choice.lower() in ('n', 'no'):
                        break
        else:
            if user_input == 4:
                print('Goodbye!')

1 个答案:

答案 0 :(得分:1)

您的代码似乎无法在任何地方提示输入。这是问题吗?

user_input = int( input("your prompt goes here") )
# PYTHON3

user_input = int( raw_input("your prompt goes here") )
# PYTHON2

顺便说一句:如果您不必将用户的输入用作数字(例如,您不需要对其进行任何数学运算),则不要将其转换为int并测试if user_input == "1"而不是if user_input == 1