ПРОШУ СРОЧНО НУЖНО! (python) почему у меня пишет ошибку с total cost в этом тексте?
my_basket = {}
ware_1 = input("product name - ")
my_basket[ware_1] = int(input("value - "))
ware_2 = input("product name - ")
my_basket[ware_2] = int(input("value - "))
ware_3 = input("product name - ")
my_basket[ware_3] = int(input("value - "))
ware_4 = input("product name - ")
my_basket[ware_4] = int(input("value - "))
ware_5 = input("product name - ")
my_basket[ware_5] = int(input("value - "))
print('We bought these goods:')
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print("Total cost -", total_cost)
Ответы
Ответ:
Исправленный вариант:
total_cost = 0
my_basket = {}
ware_1 = input("product name - ")
my_basket[ware_1] = int(input("value - "))
ware_2 = input("product name - ")
my_basket[ware_2] = int(input("value - "))
ware_3 = input("product name - ")
my_basket[ware_3] = int(input("value - "))
ware_4 = input("product name - ")
my_basket[ware_4] = int(input("value - "))
ware_5 = input("product name - ")
my_basket[ware_5] = int(input("value - "))
for k, v in my_basket.items():
total_cost += v
print('We bought these goods:')
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print('ware -', my_basket.popitem())
print("Total cost -", total_cost)
Объяснение:
Вы пытаетесь вывести переменную (или вызвать функцию, не понятно), которой нет, поэтому и получаете ошибку. Python просто не понимает что он должен вывести/вызвать.
В исправленном варианте: изначально объявляем переменную total_cost, которой присваиваем значение "0". Далее, после ввода названий и значений, в цикле for перебираем значения из словаря и прибавляем их к переменной total_cost. В таком виде код работать будет.