Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/35: Рейтинг темы: голосов - 35, средняя оценка - 4.74
1 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99

Разработать класс "Ресторан"

19.09.2021, 11:08. Показов 7660. Ответов 11

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу -
Начните с программы из упражнения 9-1. Добавьте атрибут
number_served со значением по умолчанию 0; он представляет количество обслуженных
посетителей . Создайте экземпляр с именем restaurant . Выведите значение number_served,
потом измените и выведите снова.

Упражнение 9.1
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Restaurant():
    
 
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        
    def open_restaurant(self):
        print("Restaurant is open right now!\n")
        
    def describe_restaurant(self):
        print(f"The name of the restaurant is {self.restaurant_name.title()} and this restaurant have {self.cuisine_type} products")
 
rest = Restaurant('Felichita', 'fresh')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mac Donalds', 'fat')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mislen', 'tasty')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('ILoveKebab', 'unhealthy')
rest.describe_restaurant()
rest.open_restaurant()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.09.2021, 11:08
Ответы с готовыми решениями:

Разработать класс ListStr, задающий список строк. Используя этот класс в качестве базового класса, разработать класс Que
Разработать класс ListStr, задающий список строк. Используя этот класс в качестве базового класса, разработать класс QueueStr, определяющий...

Класс Ресторан, заказ и поиск блюда по заданному критерию
«Ресторан:» В системе должны поддерживаться режимы заказа и поиска блюда по заданному критерию(название, цена), анализа спроса на различные...

Требуется разработать модель ИС "Ресторан"
Помогите написать программу, нужно разработать модель ИС "Ресторана" (элементы - руководитель, официант, клиент). Требуется только заказ и...

11
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
19.09.2021, 11:32
Python
1
2
3
4
5
6
7
8
9
10
class Restaurant():
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served = 0
        
restaurant = Restaurant('Felichita', 'fresh')
print(restaurant .number_served)
restaurant .number_served = 5
print(restaurant .number_served)
1
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
19.09.2021, 11:32
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Restaurant():
    def __init__(self, restaurant_name, cuisine_type,number_served=0):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served=number_served
        
    def open_restaurant(self):
        print("Restaurant is open right now!\n")
        
    def describe_restaurant(self):
        print(f"The name of the restaurant is {self.restaurant_name} and this restaurant have {self.cuisine_type} products, number of served:{self.number_served}")
 
rest = Restaurant('Felichita', 'fresh')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mac Donalds', 'fat',100500)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mislen', 'tasty',-5)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('ILoveKebab', 'unhealthy')
rest.describe_restaurant()
rest.open_restaurant()
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
19.09.2021, 11:34
Или такой вариант
Python
1
2
3
4
    def __init__(self, restaurant_name, cuisine_type, number_served=0):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served = number_served
1
1 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 12:07  [ТС]
Спасибо всем большое за помощь
0
1 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 13:14  [ТС]
Привет, помогите решить проблему, я пытался сделать это - добавьте метод с именем increment_number_served(), который увеличивает количество обслуженных посетителей на заданную величину. Вызовите этот метод с любым числом
Код -
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Restaurant():
    def __init__(self, restaurant_name, cuisine_type,number_served=0):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served=number_served
        
    def open_restaurant(self):
        print("Restaurant is open right now!\n")
        
    def describe_restaurant(self):
        print(f"The name of the restaurant is {self.restaurant_name} and this restaurant have {self.cuisine_type} products, number of 
                served: {self.number_served}")
    
    def update_resved(self, served):
        self.number_served = served
 
        if served >= self.number_served:
            self.number_served = served
        else:
            print("You can't enter negatice number of visitors")
 
    def increment_number_served(self, served):
        self.number_served += served
 
 
rest = Restaurant('Felichita', 'fresh')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mac Donalds', 'fat', 100500)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mislen', 'tasty',5)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('ILoveKebab', 'unhealthy', 10)
rest.describe_restaurant()
rest.open_restaurant()
 
rest.increment_number_served(50)
rest.describe_restaurant()
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
19.09.2021, 13:48
Проблем с добавленным методом и его вызовом я никаких не вижу. Или не понимаю где искать.
Только в строчку
Python
1
2
print(f"The name of the restaurant is {self.restaurant_name} and this restaurant have {self.cuisine_type} products, number of 
                served: {self.number_served}")
надо подправить, в конце первой поставить символ "\", чтобы перенос строки был корректным и пробелы убрать в начале строки
Python
1
2
print(f"The name of the restaurant is {self.restaurant_name} and this restaurant have {self.cuisine_type} products, number of \
served: {self.number_served}")
Чтобы код заработал.

Добавлено через 6 минут
Или вот так ее написать
Python
1
2
3
        print(f"The name of the restaurant is {self.restaurant_name}"
              f"and this restaurant have {self.cuisine_type} products,"
              f"number of served: {self.number_served}")
0
1 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 13:56  [ТС]
Не помогло
Ошибка -

File "E:\Python\9-4.py", line 23
def increment_number_served(self, served):
TabError: inconsistent use of tabs and spaces in indentation

Код -

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class Restaurant():
    def __init__(self, restaurant_name, cuisine_type,number_served=0):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served=number_served
        
    def open_restaurant(self):
        print("Restaurant is open right now!\n")
        
    def describe_restaurant(self):
        print(f"The name of the restaurant is" 
        "{self.restaurant_name} and this restaurant have {self.cuisine_type} products," 
        "number of served: {self.number_served}")
    
    def update_resved(self, served):
        self.number_served = served
 
        if served >= self.number_served:
            self.number_served = served
        else:
            print("You can't enter negatice number of visitors")
 
    def increment_number_served(self, served):
        self.number_served += served
 
 
rest = Restaurant('Felichita', 'fresh')
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mac Donalds', 'fat', 100500)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('Mislen', 'tasty',5)
rest.describe_restaurant()
rest.open_restaurant()
 
rest = Restaurant('ILoveKebab', 'unhealthy', 10)
rest.describe_restaurant()
rest.open_restaurant()
 
rest.increment_number_served(50)
rest.describe_restaurant()
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.09.2021, 14:03
kepsk1y,
Ты в чем код редактируешь?
Замени все табы на пробелы и перестань сорить подобными детскими темами на форуме.
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
19.09.2021, 14:04
Лучший ответ Сообщение было отмечено kepsk1y как решение

Решение

kepsk1y, Такое ощущение, что у тебя что-то либо с отступами. Либо "табуляция" и пробелы как-то перемешаны между собой.
Я тупо код от сюда копирую, и у меня все норм. Интерпретатор ошибок не выдает.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.09.2021, 15:40

Не по теме:

Цитата Сообщение от kepsk1y Посмотреть сообщение
Тоесть вариат что все больше пользоватей не с "дна", а только начитают познавать python у тебя не существует
Те кто начинают именно познавать Python - познают Python по документации и обширнейшей литературе. Я, например, так делал - и моих вопросов здесь по Python 2-3 штуки за несколько лет. И они - не дно.
Остальные же на каждый чих, вместо того чтобы погуглить или подумать, задают дно вопросы.
Ты все понял?



Добавлено через 9 минут
Цитата Сообщение от kepsk1y Посмотреть сообщение
и им бы не помешала помощь
Я, кстати, ответил на твою проблему. Но ты даже не подумал над ответом.
В любом редакторе или IDE есть настройки для автоматической замены табуляции на пробелы.
То есть отступы удобнее ставить кнопкой TAB, но сами отступы должны быть пробельными - так принято.
И во всех основных IDE это настройка по умолчанию.
И поэтому проблем с отступами (разное кол-во или смешение табов и пробелов) у большинства и нет.
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
19.09.2021, 16:27
Garry Galler, Я с самого начала пользовался средой разработки и даже не задавался вопросом о табуляции. Отступы IDE делает автоматически. Но сейчас, после Вашего замечания, решил проверить, что если использовать в IDE табуляцию. Она подчеркивается зеленым. И стоит только запустить отладку, IDE тут же преобразовывает табуляцию в пробелы. Теперь, для общего образования буду знать. А вообще, для того, что бы было меньше проблем, всегда нужно использовать специализированные средства.
kepsk1y, Если Вы собираетесь изучать Python, сразу же начните использовать PyCharm (можно скачать официально бесплатную версию). Тогда у Вас не будет возникать таких проблем, как эта.

Добавлено через 12 минут
Цитата Сообщение от kepsk1y Посмотреть сообщение
P.S начал изучать python 2 недели назад
И сразу с классов? Хотя я догадался. У Вас уже большой опыт работы с классам, но в другом языке, например С++. Но нужно понимать, что в питоне, в отличие от других языков, где отступы делаются только для удобства чтения, здесь отступы, это часть синтаксиса, как например ";" в С++. И если ошибка в отступах, то это ошибка в коде, из за которой код не будет правильно работать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2021, 16:27
Помогаю со студенческими работами здесь

Создать объект класса Ресторан, используя класс Кухня. Методы: приготовить суп, салат, кофе, составить меню, принять зак
Создать объект класса Ресторан, используя класс Кухня. Методы: приготовить суп, салат, кофе, составить меню, принять заказ клиента,...

Разработать абстрактный класс класс Point для задания координаты точки на плоскости. Выбирая этот класс в качестве базо
Разработать абстрактный класс класс Point для задания координаты точки на плоскости. Выбирая этот класс в качестве базового разработать...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не знаю как решить... Разработать абстрактный класс класс...

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
"Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает объект класса СПИСОК. Определить необходимые конструкторы,...

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru