Предмет: Информатика, автор: natalilys

ПРОШУ СРОЧНО НУЖНО! (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)

Ответы

Автор ответа: Zergloing
1

Ответ:

Исправленный вариант:

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. В таком виде код работать будет.


Zergloing: Если мой ответ вас удовлетворил, то, пожалуйста, отметьте его как "Лучший ответ".
natalilys: спасибо большое!!!
Похожие вопросы
Предмет: Английский язык, автор: aliboeva95