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

Создать программу (очень желательно на Python). Пользователь вводит название товара, что он хочет купить (программа выводит строку "Название: ..." и пользователь должен написать, что он хочет купить; например, "Название: Телевизор"), после этого программа выводит строку "Цена: ..." (и пользователь должен написать цифрами цену). После этого внизу выводиться такая строка: "ВСЕ КУПЛЕНОЕ:", а внизу этого - название и цена. указанная пользователем перед этим. После этого программа спрашивает "Продолжить?", если пользователь напишет "Да", то всё повторяется, если "Нет", то программа завершает работу.

Ответы

Автор ответа: KnowsUser1
4

Ответ:

--- Python 3.8.3 ---

import typing

from typing import List  

class Item:

   def __init__(self, name: str, cost: int):

       self._n = name

       self._c = cost  

   @property

   def Name(self):

       return self._n

   @property

   def Cost(self):

       return self._c  

def Report(data: List[Item]):

   Rep = 'Bought:\n'

   for item in data:

       Rep += f'{item.Name} : {item.Cost} $\n'

   Rep += f'Total cost: {sum([item.Cost for item in data])} $\n'

   return Rep

def main():

   Buy = []

   CurrentCommand = 'Y'

   while CurrentCommand == 'Y':

       print('---- new buy -----')

       n = input('Name: \n')

       c = int(input('Cost: \n'))

       Buy.append(Item(n,c))

       print(Report(Buy))

       CurrentCommand = input('Continue? Y/N\n')

   

   

if __name__ == "__main__":

   main()

Объяснение:

Все надписи выводятся на английском потому, что мне лень менять раскладку) Суть осталась та же

Некий "товар" описан классом для более удобного доступа к его атрибутам при формировании отчёта.


andrewss: def __init__(self, name: str, cost: int):
SyntaxError: invalid character in identifier
KnowsUser1: Я тестировал программу. Вероятнее всего, у вас уплыли табуляции. Расставьте их вручную
KnowsUser1: Сайт очень любит заменять табы на какой то свой дурацкий символ, на который потом ругается интерпретатор Python
andrewss: def Name(self):
IndentationError: unexpected indent
KnowsUser1: Ошибка отступа. Я же вам уже сказал, расставьте табуляции в ручную
andrewss: Спасибо. Уже всё работает
Похожие вопросы
Предмет: Русский язык, автор: darinka06041