#python #list #input
#python #Список #ввод
Вопрос:
#my simple code
i_sm = input("Enter Scale (Major or Minor): ")
Major = [root,W,W,H,W,W,W]
Minor = [root,W,H,W,W,H,W]
print(i_sm)
Я хотел бы связать входную переменную i_sm
со списком Major
или Minor
и напечатать ее содержимое, например, пользовательский ввод «Major» приведет к выводу root,W,W,H,W,W,W
.
Однако генерируемый результат является «Основным». Как я могу получить фактический список для печати?
Комментарии:
1. Храните свои списки в словаре, используя название шкалы.
Ответ №1:
Вот пример того, как это сделать.
Вы можете хранить списки значений , например ['Mustang', 'Focus']
, связанных с определенным ключом , например 'ford'
. Позже вы можете получить список значений для данного ключа, используя cars['ford']
или cars['tesla']
или cars[choice.lower()]
, если choice
это было значение, введенное пользователем.
cars = {
'ford': ['Mustang', 'Focus'],
'tesla': ['Model 3', 'Model S']
}
choice = input("Enter manufacturer (Ford or Tesla): ")
try:
print(cars[choice.lower()])
except KeyError:
print('Error: choose Ford or Tesla')
Обратите внимание, что я преобразовал входное значение в нижний регистр, чтобы пользователям не приходилось быть слишком точными — они могут ввести Ford
, ford
, FORD
и все будет работать.
Ответ №2:
Все, что вам нужно, это словарь Python
https://www.w3schools.com/python/python_dictionaries.asp
i_sm = input("Enter Scale (Major or Minor): ")
Major = ["root","W","W","H","W","W","W"]
Minor = ["root","W","H","W","W","H","W"]
aDict = { "Major": Major, "Minor": Minor}
print( aDict[i_sm] )
Комментарии:
1. Спасибо — это сработало легко! И спасибо за ссылку — очень полезно!