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, чтобы работать с индексами, но не знаю как.
Первая задача:
A = 4! = 1*2*3*4 = 24
B = 3! = 1*2*3 = 6
C = A - B = 24 - 6 = 18
ответ: 18
Вторая задача:
A = 4!/(4-3)! = 4! = 1*2*3*4 = 24
ответ: 24
Объяснение:
Первая задача:
Множество A содержит все возможные набор комбинации из 4 чисел (включая те наборы чисел которые начинаются с 0)
Множество B содержит все возможные набор комбинации из 3 чисел
Множество C содержит четырехзначные
Что такое четырехзначное число ? это комбинации из 4 цифр, причем комбинации в которых на первом месте не ноль (тогда это трехзначное число что нам не нужно), а множество А содержит и те комбинации в которых на первом месте 0
В множестве 'B' можно сказать наборы чисел в которых на первом месте 0 (0138 и т.д.)
В множестве С только те наборы по 4 цифры в которых на первом месте не 0 т.е четырехзначные числа
Вторая задача:
Поделитесь своими знаниями, ответьте на вопрос:
Скорость передачи данных через adsl-соединение равна 256 000 бит/с. передача файла через данное соединение заняла 3 мин. определите размер файла в килобайтах.