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

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

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

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу -
Начните с программы из упражнения 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2021, 11:08
Ответы с готовыми решениями:

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

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

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

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

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

11
1810 / 785 / 330
Регистрация: 05.09.2021
Сообщений: 1,299
19.09.2021, 11:32 2
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
Модератор
Эксперт С++
13666 / 10879 / 6461
Регистрация: 18.12.2011
Сообщений: 29,017
19.09.2021, 11:32 3
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
1810 / 785 / 330
Регистрация: 05.09.2021
Сообщений: 1,299
19.09.2021, 11:34 4
Или такой вариант
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
-2 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 12:07  [ТС] 5
Спасибо всем большое за помощь
0
-2 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 13:14  [ТС] 6
Привет, помогите решить проблему, я пытался сделать это - добавьте метод с именем 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
1810 / 785 / 330
Регистрация: 05.09.2021
Сообщений: 1,299
19.09.2021, 13:48 7
Проблем с добавленным методом и его вызовом я никаких не вижу. Или не понимаю где искать.
Только в строчку
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
-2 / 1 / 1
Регистрация: 11.09.2021
Сообщений: 99
19.09.2021, 13:56  [ТС] 8
Не помогло
Ошибка -

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
5434 / 3857 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
19.09.2021, 14:03 9
kepsk1y,
Ты в чем код редактируешь?
Замени все табы на пробелы и перестань сорить подобными детскими темами на форуме.
0
1810 / 785 / 330
Регистрация: 05.09.2021
Сообщений: 1,299
19.09.2021, 14:04 10
Лучший ответ Сообщение было отмечено kepsk1y как решение

Решение

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

Не по теме:

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



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

Добавлено через 12 минут
Цитата Сообщение от kepsk1y Посмотреть сообщение
P.S начал изучать python 2 недели назад
И сразу с классов? Хотя я догадался. У Вас уже большой опыт работы с классам, но в другом языке, например С++. Но нужно понимать, что в питоне, в отличие от других языков, где отступы делаются только для удобства чтения, здесь отступы, это часть синтаксиса, как например ";" в С++. И если ошибка в отступах, то это ошибка в коде, из за которой код не будет правильно работать.
1
19.09.2021, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2021, 16:27
Помогаю со студенческими работами здесь

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

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

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

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

Разработать класс Таблица, содержащий символы русского алфавита и производный от него Класс
Разработать класс Таблица, содержащий символы русского алфавита и производный от него Класс...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru