-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlesson16.py
More file actions
60 lines (47 loc) · 2.27 KB
/
lesson16.py
File metadata and controls
60 lines (47 loc) · 2.27 KB
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
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
# Задание 1
# Создайте класс Касса, который хранит текущее количество денег в кассе, у него есть методы:
# top_up(X) - пополнить на X
# count_1000() - выводит сколько целых тысяч осталось в кассе
# take_away(X) - забрать X из кассы, либо выкинуть ошибку, что не достаточно денег
class Касса:
def __init__(self, initial_amount=0):
self.money = initial_amount
def top_up(self, x):
self.money += x
def count_1000(self):
return self.money // 1000
def take_away(self, x):
if x > self.money:
raise ValueError("Недостаточно денег в кассе")
self.money -= x
# Задание 2
# Создайте класс Черепашка, который хранит позиции x и y черепашки, а также s - количество клеточек, на которое она перемещается за ход
# у этого класса есть методы:
# go_up() - увеличивает y на s
# go_down() - уменьшает y на s
# go_left() - уменьшает x на s
# go_right() - увеличивает y на s
# evolve() - увеличивает s на 1
# degrade() - уменьшает s на 1 или выкидывает ошибку, когда s может стать ≤ 0
# count_moves(x2, y2) - возвращает минимальное количество действий, за которое черепашка сможет добраться до x2 y2 от текущей позиции
class Черепашка:
def __init__(self, x=0, y=0, s=1):
self.x = x
self.y = y
self.s = s
def go_up(self):
self.x += self.s
def go_down(self):
self.y -= self.s
def go_left(self):
self.x -= self.s
def go_right(self):
self.y += self.s
def evolve(self):
self.s += 1
def degrade(self):
if self.s <= 0:
raise ValueError('s <= 0')
self.s -= 1
def count_moves(self, x2, y2):
self.y -= self.s