Как устранить проблему невыполнения алгоритма? Запускаю программу , при выборе персонажа программа заканчивается , хотя должна дальше выводить текст и поле ввода , как решить ? import randomimport random class Dog: def __init__(self, name, age): self.name = name self.age = age #print('Ишак создан') def sit(self): print(self.name.title + ' сел ') def jump(self): print(self.name.title + ' прыгнул ') def death(self): print(self.name.title + ' Ваш помер ') def fight(self): print('На' + self.name.title + 'Напали' + random.randint(1, 30) +'живодера') angryM = Dog('Злой пес Миша' , 18) chechenM = Dog('Миша Чеченец ' , 31) kolM = Dog('Сын Колесниковича и Миши' , 7) print('Cимулятор Миши') print('1 - Злой пес Миша') print('2 - Миша Чеченец ') print('3 - Сын Колесниковича и Миши') operation=input('Выберите персонажа:') if operation == 1: print('Вы выбрали' + angryM.name) ang=input('продолжайте бегать ...') if ang == '1': angryM.fight

2 Дек 2021 в 19:58
224 +1
1
Ответы
1

Проблема заключается в том, что при сравнении введенного значения operation с числом, вы выбираете тип данных чисел, а не строк. Для сравнения строки и числа, нужно преобразовать входные данные в один и тот же тип данных.

Для исправления проблемы, вам необходимо преобразовать введенное значение в строку (str) при сравнении с числом.

Пример исправленного кода:

import random
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name + ' сел')
def jump(self):
print(self.name + ' прыгнул')
def death(self):
print(self.name + ' Ваш помер')
def fight(self):
print('На ' + self.name + ' напали ' + str(random.randint(1, 30)) + ' живодера')
angryM = Dog('Злой пес Миша', 18)
chechenM = Dog('Миша Чеченец', 31)
kolM = Dog('Сын Колесниковича и Миши', 7)
print('Cимулятор Миши')
print('1 - Злой пес Миша')
print('2 - Миша Чеченец')
print('3 - Сын Колесниковича и Миши')
operation = input('Выберите персонажа: ')
if operation == '1':
print('Вы выбрали ' + angryM.name)
ang = input('продолжайте бегать... ')
if ang == '1':
angryM.fight()

Теперь код должен правильно обрабатывать выбранный персонаж и продолжать выполнение программы правильно.

17 Апр в 08:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир