Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 06.12.2021
Сообщений: 3
1

Сделал код, но не понимаю где ошибка

06.12.2021, 18:09. Показов 6402. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
import random
 
class Warrior:
    def __init__(self, name, health=100):
        self.name = name
        self.health = health
 
    def hit(self, target):
        if type(self) == type(target):
            target.health -= 20
        else:
            raise TypeError
 
warriors = [input("Введите имя первого героя. "), input("Введите имя второго героя. ")]
while True:
    q = input('Введите 1, чтобы какой-то воин атаковал. Для закрытия программы введите 2: ')
    if q == '1':
        i = random.randint(0, 1)
        attacker, victim = warriors[i], warriors[i - 1]
        attacker.hit(victim)
        print(attacker.name, 'Атаковал', victim.name)
        print('У', victim.name, 'Осталось здоровья', victim.health)
        if victim.health <= 0:
            print(attacker.name, 'Победил!!!')
            break
    elif q == '2':
        break
    else:
        print('Ошибка ввода')
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2021, 18:09
Ответы с готовыми решениями:

Нашел код и не понимаю, где здесь ошибка
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { double x, y,xk, dx=0;...

Перевести формулу в код, я не понимаю, где моя ошибка в коде, ответ выходит неправильным
using System; class HelloWorld {static void Main() { int c, t; double L;...

Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка)
задан текст нужно вывести на экран количество слов где первая и последняя буквы одинаковы #include...

Не понимаю где писать код...
Решил заняться програмированием на Java? мне друг дал ссылку с ПО ...

Код не работает. Не понимаю, где ошибки
var SPACE_DELIMITER = ' ' NAME_COMPONENT_COUNT = 3 DELETE_EXTRA_SPACES = FALSE if...

5
4989 / 3338 / 1151
Регистрация: 21.03.2016
Сообщений: 8,153
06.12.2021, 18:13 2
ну сделайте милость расскажите для чего у вас класс?
0
0 / 0 / 0
Регистрация: 06.12.2021
Сообщений: 3
06.12.2021, 18:18  [ТС] 3
Делал код для задачи
Напишите программу по следующему описанию. Есть класс "Воин". От него создаются два экземпляра-юнита. Каждому устанавливается здоровье в 100 очков. В случайном порядке они бьют друг друга. Тот, кто бьет, здоровья не теряет. У того, кого бьют, оно уменьшается на 20 очков от одного удара. После каждого удара надо выводить сообщение, какой юнит атаковал, и сколько у противника осталось здоровья. Как только у кого-то заканчивается ресурс здоровья, программа завершается сообщением о том, кто одержал победу.
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
18581 / 10777 / 2898
Регистрация: 21.10.2017
Сообщений: 22,960
06.12.2021, 18:26 4
Цитата Сообщение от Sopsok Посмотреть сообщение
От него создаются два экземпляра-юнита
Где?

Добавлено через 2 минуты
Игра по боксу - переделать - 5 минут
0
4989 / 3338 / 1151
Регистрация: 21.03.2016
Сообщений: 8,153
06.12.2021, 18:27 5
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Где?
я тоже подвожу автора к этому вопросу. тем более код он сделал сам
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
18581 / 10777 / 2898
Регистрация: 21.10.2017
Сообщений: 22,960
06.12.2021, 19:37 6
Sopsok, на, ремейк )))
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
from random import randint as rnd, choice as ch
 
 
class Boxer:
    def __init__(self, name, health=100):
        self.name = name
        self.health = health
 
    def hit(self, other):
        hit = rnd(1, 20)
        if hit < 10:
            s = ch(['слегонца напаснул', 'по децелу вкумарил', 'чутка зацепил в ухо'])
        else:
            s = ch(['нехило дал в бубен', 'люто накатил по корпусу', 'конкретно нарезал в щи'])
        print(f'{self.name} {s} {other.name} на {hit} очков')
        other.health -= hit
 
    def __str__(self):
        return f'{self.name}, {self.health} здоровья.'
 
 
boxers = [Boxer("Тайсон"), Boxer("Али")]
idx = rnd(0, 1)
 
while True:
    idx = not idx
    boxers[idx].hit(boxers[idx - 1])
    if boxers[idx - 1].health <= 0:
        winner = boxers[idx]
        break
 
print(f'\nПобедил {winner}')
fight

Али нехило дал в бубен Тайсон на 10 очков
Тайсон по децелу вкумарил Али на 3 очков
Али чутка зацепил в ухо Тайсон на 5 очков
Тайсон люто накатил по корпусу Али на 10 очков
Али нехило дал в бубен Тайсон на 20 очков
Тайсон чутка зацепил в ухо Али на 6 очков
Али по децелу вкумарил Тайсон на 1 очков
Тайсон люто накатил по корпусу Али на 15 очков
Али по децелу вкумарил Тайсон на 7 очков
Тайсон нехило дал в бубен Али на 17 очков
Али нехило дал в бубен Тайсон на 20 очков
Тайсон слегонца напаснул Али на 2 очков
Али конкретно нарезал в щи Тайсон на 19 очков
Тайсон слегонца напаснул Али на 3 очков
Али нехило дал в бубен Тайсон на 15 очков
Тайсон люто накатил по корпусу Али на 13 очков
Али нехило дал в бубен Тайсон на 20 очков

Победил Али, 31 здоровья.
0
06.12.2021, 19:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2021, 19:37
Помогаю со студенческими работами здесь

не понимаю, где ошибка?
5 cent=\sqrt{25 cent}=\sqrt{\frac{1}{4}dollars}=\frac{1}{2}dollars=50 cent Писал про...

Не понимаю где ошибка
Всем доброго времени суток, есть код на pascal его нужно перевести в python, не могу понять что не...

не понимаю,где ошибка
Дана форма, в которой мы имеем 15 radio кнопок. Кнопки - оценки за экзамены. Надо найти средний...

Не понимаю, где ошибка
Необходимо сделать сортировку &quot;пузырьком&quot; и что-то не получается..

не понимаю где ошибка
Задание: Дана строка, состоящая из русских слов, разделенных пробелами(одним или несколькими)....

не понимаю где ошибка
Помогите найти ошибку почему программа находит координаты 2-х точек пересечения а пишет что их 3?...


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

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