Это что-то вроде того, что соответствует вашим ожиданиям:
print('Scenario Analysis')
profit_dict = {}
while True:
item1= input ('What is the item: ')
price_good= int (input('What is the expected profit of {}, in the best case scenario: '.format(item1)))
price_bad = int( input ('What is the expected profit of {}, in the worst case scenario: '.format(item1)))
if item1 in profit_dict.keys():
profit_dict[item1]['good'].append(price_good)
profit_dict[item1]['bad'].append(price_bad)
else:
profit_dict[item1]={'good':[price_good],'bad':[price_bad]}
user_choice= input('Do you have anymore items: ')
if user_choice in ['Yes','yes','y','Y']:
pass
else:
break
=> В результате вы получите словарь словаря: {'Item1': {'good': [1,2,3] , «плохо»: [0,0,1]}, «Item2»: {«хорошо»: [10,20,30], «плохо»: [1,2,3]},, ..., ' ItemX ': {' good ': [10,20,30],' bad ': [1,2,3]}}
И после этого вы можете попытаться вызвать печать с чем-то вроде:
print(f'This is your best profit outcome: {max(profit_dict[item]['good'])}')
print(f'This is your worst profit outcome: {min(profit_dict[item]['bad'])}')
РЕДАКТИРОВАТЬ: Не уверен, что понимаю ваш комментарий: если вы ищете конкретный c элемент:
item='item1'
print(f'This is your best profit outcome: {max(profit_dict[item]['good'])}')
, если элемент не известен, вы можете исследовать словарь путем итерации:
for key, value in profit_dict.items():
for key2, value2 in value.items():
print(f"This is your best profit outcome for {key}:{max(profit_dict[item]['good'])}")
он напечатает вас: Это ваш лучший результат прибыли для Item1: 3 Это ваш лучший результат прибыли для Item2: 30 ... Это ваш лучший результат прибыли для ItemX: 30
И если вы хотите узнать предмет с большим «добром», это решение не самое лучшее, но вы все равно можете сделать итерацию:
previous_best_value=0
for key, value in profit_dict.items():
for key2, value2 in value.items():
best_value=max(profit_dict[key]['good'])
if best_value>previous_best_value:
previous_best_value=best_value
best_item=key
print(f"The item:{key} has the best outcome {previous_best_value}")
Надеюсь, вы найдете то, что ожидали.