moidela87
?>

3. написать программу, в которой: a. запрашивается номер варианта студента, b. сравнивается введенная информация со значением строковой переменной (за-данным в программе), c. выводится на экран сообщение (совпал или не совпал номер

Информатика

Ответы

testovich1012

если в программе задан восьмой вариант

 

vara: char; i: integer; beginread(a);

if (a='восемь'') or (ord(a)-48=8) thenwriteln('совпал')elsewriteln('не совпал'); end.

losevev5619
Var     s: integer;     i: integer; begin s: =0; for i: = 30 to 80 do       if i mod 10 = 4 then s: =s+i; writeln('s = ',s); end. var     s,n,i: integer; begin s: =0; n: =0; for i: = 10 to 70 do       if i mod 10 = 5 then             begin             s: =s+i;             n: =n+1;             end; writeln('sr = ',s/n); end.
Дмитрий-Олейникова

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

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

class Weapon:

   def __init__(self, name, damage, range):

       self.name = name

       self.damage = damage

       self.range = range

 

   def hit(self, actor, target):

       if not target.is_alive:

           print('Враг уже повержен')

           return

       if actor.pos_x + self.range < target.pos_x or \

               actor.pos_y + self.range < target.pos_y:

           print(f'Враг слишком далеко для оружия '

                 f'{self.name}')

           return

       target.hp -= self.damage

       print(f'Врагу нанесен урон оружием {self.name}'

             f'в размере {self.damage}')

 

   def print_Weapon(self):

       return self.name

 

 

class BaseCharacter:

   def __init__(self, pos_x, pos_y, hp):

       self.pos_x = pos_x

       self.pos_y = pos_y

       self.hp = hp

 

   def move(self, d_x, d_y):

       self.pos_x = self.pos_x + d_x

       self.pos_y = self.pos_y + d_y

 

   def is_alive(self):

       if self.hp <= 0:

           return False

       else:

           return True

 

   def get_damage(self, amount):

       self.hp = self.hp - amount

 

   def get_coords(self):

       return (self.pos_x, self.pos_y)

 

 

class BaseEnemy(BaseCharacter):

   def __init__(self, pos_x, pos_y, weapon, hp):

       super().__init__(pos_x, pos_y, hp)

       self.weapon = Weapon

 

   def hit(self, target):

       if not target == MainHero:

           print('Могу ударить только главного героя')

           return

       else:

           self.weapon.hit(self, target)

 

   def print_Enemy(self):

       return f'Враг на позиции{self.pos_x, self.pos_y} с \

               оружием {self.weapon}'

 

 

class MainHero(BaseCharacter):

   def __init__(self, pos_x, pos_y, name, hp):

       super().__init__(pos_x, pos_y, hp)

       self.name = name

       self.invent = []

       self.weapon = '12'

 

   def add_weapon(self, weapon):

       self.weapon = weapon

       self.invent.append(weapon)

       print(f'Подобрал {weapon}')

       if len(self.invent) == 1:

           MainHero.weapon = weapon

 

   def hit(self, target):

       if MainHero.weapon == 0: # AttributeError: type object 'MainHero' has no attribute 'weapon'

                                # я ведь прописал в инните self.weapon = weapon, что не так? Думаю дело в том что этот weapon в инните никак не связан классом Weapon, тогда как это реализовать?                  

           print('Я безоружен')

           return

       if target != BaseEnemy:

           print('Могу ударить только врага')

           return

 

       target.hp -= MainHero.weapon.hit

 

   def next_weapon(self):

       if len(self.invent) == 0:

           print('Я безоружен')

           return

 

       if len(self.invent) == 1:

           print('У меня только одно оружие')

           return

       # не понимаю как реализовать смену оружия,создал для этого invent, чтобы работать с индексами, но не знаю как.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

3. написать программу, в которой: a. запрашивается номер варианта студента, b. сравнивается введенная информация со значением строковой переменной (за-данным в программе), c. выводится на экран сообщение (совпал или не совпал номер
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Иванова
Shevtsov1818
ustinov434
chulki-kupit
marat-dzhanibekov
Boldinova-Marianna
Zuriko1421
alazaref
AnzhelikaSlabii1705
qelmar461
nekrasovaolga27
Павловна897
ekaterinkat
Nikolaevna Malika1511
krtatiana69