#python #function
Вопрос:
class board:
def __init__(self, length, height, letter):
self.layout = ((' ' letter) * length ' n') * height
self.length = length
self.height = height
self.objects = {}
def draw(self, length=None, height=None, letter=None, double=False, show=True):
#adds a line every time
if length == None or height == None or letter == None:
print(self.layout)
else:
if letter != '':
letter = letter[0]
layout = self.layout.split('n')[:-1]
if layout[0] == '':
layout = layout[1:]
old = ''
for num in range(height):
if num != height:
num = num - 1
old = old layout[num] 'n'
new = old
num = length * 2
n = 0
old = ''
for item in layout[height]:
n = n 1
if n == num:
old_block = item
old = old letter
else:
old = old item
string = new old 'n'
print(len(layout[height-1:len(layout) -1]))
print(len(layout))
string = string 'n'.join(layout[height-1:len(layout) -1]) 'n'
self.layout = string
self.objects[letter] = (length, height, old_block)
if show:
if double:
print(string.replace(' ', ' '))
else:
print(string)
Я пытаюсь создать модуль, в котором функция, которая рисует доску, и вы также можете добавить объект в определенное место, но, к сожалению, моя функция под названием draw добавляет нежелательную линию.
Я был бы очень признателен, если бы вы могли мне помочь!
Комментарии:
1. Пожалуйста, обновите свой вопрос с помощью примеров результатов. Пожалуйста, укажите текущее поведение вашего кода, а также желаемое поведение.
Ответ №1:
self.layout = (((' ' letter) * length ' n') * height)[:-2]
тоже
self.objects[letter] = (length, height, old_block)
string = string[:-2]
if show:
Комментарии:
1. Спасибо, что дали ответ. Не могли бы вы, пожалуйста, отредактировать свой ответ, чтобы включить объяснение вашего кода? Это поможет будущим читателям лучше понять, что происходит, и особенно тем членам сообщества, которые новички в языке и изо всех сил пытаются понять концепции. Я ценю это.