问题
Change your program so there is a main menu for the manager to select from with four options:
- Print the total weekly salaries bill.
- Print the average salary.
- Change a player’s salary.
- Quit
When I run the program, I enter the number 1 and the program stops. How do I link it to the 4 below programs?
Program:
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:
Put the raw input in a while.
while True:
user_input = raw_input("Welcome!...")
if user_input == 1:
...
elif user_unput == 2:
...
else:
print "this salary is ridic..."
After completing a 1,2,3... input ask the user if they would like to do something else y/n, if n: break, this will end the loop. If y, the loop begins again and asks for another user input.
来源:https://stackoverflow.com/questions/23245915/total-average-changing-salary-1-2-3-4-menu