def func_2(x):
if x == 1:
return 'единица'
if x == 2:
return 'двойка'
if x == 3:
return 'тройка'
def func_1(x):
return func_2(x)
def func_3():
print('завершение')
n = 2
if func_1(n) == 'единица':
print('единица')
if func_1(n) == 'двойка':
print('двойка')
if func_1(n) == 'тройка':
print('тройка')
func_3()
numbers = {
1: 'единица',
2: 'двойка'
}
x = 1
y = 3
print(numbers.get(x, 'Неизвестное число'))
print(numbers.get(y, 'Неизвестное число'))
class Shot:
def __init__(self):
self.x = None
self.y = None
def shot_by_ships(self):
xy = input('\033[1;32mВаш выстрел (например, d3): ')
if len(xy) == 2:
input_x = xy[0]
if xy[1].isdigit():
input_y = int(xy[1])
else:
input_y = 10
if input_x in Board.letters and 0 <= input_y < 10:
self.x = Board.letters.index(input_x)
self.y = int(xy[1])
if radar.board[self.x][self.y] == Cell.miss_cell:
print('Эта клетка занята! Еще разок...')
self.shot_by_ships()
return self.receive_shot()
else:
print('Неправильный ввод. Еще разок... ')
self.shot_by_ships()
else:
print('Должно быть две координаты. Еще разок...')
self.shot_by_ships()
def receive_shot(self):
sx = self.x
sy = self.y
# radar.count_shot += 1
if type(comp.board[sx][sy]) == Ship:
ship = comp.board[sx][sy]
ship.len_ship -= 1
if ship.len_ship <= 0:
radar.mark_destroyed_ship(ship)
print('\033[1;33mКорабль уничтожен!')
Ship.count_ship -= 1
return ship
radar.board[sx][sy] = Cell.damaged_ship
print('\033[1;33mПопадание!')
return 'get'
else:
radar.board[sx][sy] = Cell.miss_cell
print('\033[1;33mПромах!')
return 'miss'
while Ship.count_ship > 0:
shot = Shot()
# shot.shot_by_ships()
if shot.shot_by_ships() == 'miss':
print('\033[1;33mПромах!', 'Внешняя запись')
elif shot.shot_by_ships() == 'get':
print('\033[1;33mПопадание!', 'Внешняя запись')
elif type(shot.shot_by_shipst()) == Shot:
print('\033[1;33mКорабль уничтожен!', 'Внешняя запись')
# radar.clear_screen()
print('Отрисовка')
radar.print_board()
print('Неправильный ввод. Еще разок... ')
return self.shot_by_ships()
else:
print('Должно быть две координаты. Еще разок...')
return self.shot_by_ships()
shot_check = shot.shot_by_ships()
if shot_check == 'miss':
print('\033[1;33mПромах!', 'Внешняя запись')
elif shot_check == 'get':
print('\033[1;33mПопадание!', 'Внешняя запись')
Использование вызова функции нигде не кэшируется, если так понятнее.