Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Засунул в ООП код elif и почему-то не работает

17.08.2020, 11:04. Показов 1487. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выдает
Code
1
2
3
4
  File "produkt_nabor.py", line 10
    elif self.buterbrod == 1:
       ^
SyntaxError: invalid syntax
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class produktovii_nabor():
    buterbrod = 4
    
    def siest_buterbrod(self):
        if self.buterbrod > 0:
            self.buterbrod -= 1
        if self.buterbrod > 1:
            print('Осталось'+(str(self.buterbrod)+'бутербродов')
        elif self.buterbrod == 1:
            print('Остался 1 будерброд')
        else:
            print ('Бутербродов больше нет')
            
 
edok1 = produktovii_nabor()
edok1.siest_buterbrod()
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2020, 11:04
Ответы с готовыми решениями:

Не работает код с elif
a = int(input()) if a // 4 == 0: elif a // 100 != 0: print("Високосный") File "jailed_code", line 4 elif a // 100...

Почему неправильно работает приват в PHP ООП?
Вот код. Я его прокомментировал. Почему выдается 250, а не 1? class People { protected static $rost = 'none'; public...

Не работает ООП код
Учу сейчас по книжке ООП. Там для примера такой код Dog.php <?php header("Content-Type: text/html; charset=utf-8"); ?> ...

7
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
17.08.2020, 11:09
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Цитата Сообщение от supmener Посмотреть сообщение
print('Осталось'+(str(self.buterbrod)+'б утербродов')
Не хватает закрывающей скобки.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
17.08.2020, 13:47  [ТС]
А как строку edok1.siest_buterbrod() запускать определенное количество раз в зависимости от ответа пользователя? Какой должен быть код?
Python
1
2
edok1 = produktovii_nabor()
skoka_xotite = input('Сколько бутербродов берёте? ')
Добавлено через 1 час 52 минуты
Задал вопрос здесь Как написать цикл со счетчиком?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.08.2020, 14:08
Чувак, давай напишем алгоритм (блок-схему).

Добавлено через 2 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Produktovii_nabor:
    def __init__(self, buterbrod=4): 
        self.buterbrod = buterbrod
    
    def siest_buterbrod(self):
        if self.buterbrod > 0:
            self.buterbrod -= 1
        if self.buterbrod > 1:
            print('Осталось'+(str(self.buterbrod)+'бутербродов'))
        elif self.buterbrod == 1:
            print('Остался 1 будерброд')
        else:
            print ('Бутербродов больше нет')
            
 
skoka_xotite = int(input('Сколько бутербродов берёте? '))
edok1 = Produktovii_nabor(skoka_xotite)
edok1.siest_buterbrod()
Добавлено через 1 минуту
Или так:

Python
1
2
3
4
edok1 = Produktovii_nabor()
skoka_xotite = int(input('Сколько бутербродов берёте? '))
for i in range(skoka_xotite):
    edok1.siest_buterbrod()
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
17.08.2020, 14:10  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Чувак, давай напишем алгоритм (блок-схему).
У едока спрашивают, сколько бутербродов он хочет. Он берет по одной штуке и кушает.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.08.2020, 14:11
Тогда второй вариант кода.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
17.08.2020, 15:41  [ТС]
Готовый код программы
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Produktovii_nabor():
    buterbrod = 4
    
    def siest_buterbrod(self):
        if self.buterbrod > 0:
            self.buterbrod -= 1
        if self.buterbrod > 1:
            print('Осталось '+(str(self.buterbrod))+' бутерброда')
        elif self.buterbrod == 1:
            print('Остался 1 будерброд')
        else:
            print ('Бутербродов больше нет')
            
 
 
edok1 = Produktovii_nabor()
skoka_xotite = int(input('Сколько бутербродов берёте? '))
for i in range(skoka_xotite):
    edok1.siest_buterbrod()
0
1 / 1 / 0
Регистрация: 17.08.2020
Сообщений: 1
19.08.2020, 11:48
supmener, небольшой оффтоп - для начинающего рекомендую поковыряться с кодом http:// www. pythontutor.com
там пошагово можно наглядно посмотреть что происходит в том числе и в памяти. Простой и лаконичный дизайн, я сам на нем разбирался с указателями в Си
Миниатюры
Засунул в ООП код elif и почему-то не работает  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2020, 11:48
Помогаю со студенческими работами здесь

Не работает код. ООП
У меня есть код #include <iostream> #include <windows.h> #include <time.h> #include <string> using namespace std; class Hero ...

Нужно чтобы на нажатие knopki эта knopka, vopros, obje удалялись,вроде что-то написал но не работает, скрипт я засунул
Нужно чтобы на нажатие knopki эта knopka, vopros, object удалялись, вроде что-то написал но не работает, скрипт я засунул maincamera. ...

Хочу разобраться почему последние elif (ы) не срабатывают
import random a = random.randint (0 , 60 ) while True : b = int(input('Введите случайное число от 0 до 60: ')) if b ==...

Не работает elif
Добрый день. Прошу не судить строго, второй день читаю книгу. Решил вот сбацать генератор паролей, if нормально отрабатывает, с elif...

Не работает оператор if/elif
Задание: написать программу для решения нелинейного уравнения методом бисекции. Код: a = -100.0 b = 100.0 E = 0.001 check =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru