Python. Как связать нумерацию вывода списка и ввод данных пользователем
Есть некоторый словарь с данными. Из него берутся нужные данные и выводятся на экран с помощью цикла for в список с нумерацией. Я же хочу, чтобы в зависимости от введенного пользователем числа выводилась информация о нужном предмете из списка под введенным номером.
Реально ли вообще сделать нечто подобное? Знаний пока что, по всей видимости, недостаточно
print('Список товаров торговца', name_trader)
print('---')
count = 1
sleep(1)
for product in traders[name_trader]:
print(count, '-', product+'.','Цена:', traders[name_trader][product])
count+=1
sleep(0.5)
print('---')
print('Вас что-нибудь заинтересовало? (да/нет)')
interes = input()
if interes == 'да':
tovar = int(input('Введите позицию интересующего вас товара.'))
Ответы (2 шт):
Автор решения: Artyom
→ Ссылка
Создайте дополнительный словарь в начале:
x = {}
В вашем цикле for добавляйте в этот словарь ключ и значение:
x[count] = product
После ввода числа пользователем возьмите значение из вашего словаря:
print(x[tovar])
Автор решения: Сергей Ш
→ Ссылка
traders ={'tr1':{'t1': 1, 't2': 2, 't3': 3}}
name_trader ='tr1'
print('Список товаров торговца', name_trader)
print('---')
qq = list(traders[name_trader].items())
for count, (product, price) in enumerate(qq, 1):
print(f"{count} - {product}. Цена: {price}")
print('---')
print('Вас что-нибудь заинтересовало? (д/н)')
interes = input()
if interes == 'д':
tovar = int(input('Введите позицию интересующего вас товара.'))-1
product, price = qq[tovar]
print(f"{product}. 'Цена:' {price}")