Я пытаюсь отформатировать список "name_left" и показать его в крайнем левом столбце, который я сделал из прямоугольников рисования рекурсии.Есть ли способ сделать это?Должен показать, что я могу отформатировать то, что я понимаю, но, пытаясь заставить его отображаться в левом столбце и изменить x на определенную величину, пока не закончится отображение списка, я не могу приступить к работе.Все, что я пытаюсь, помещает весь список в один столбец, а не одно слово в каждом, которое я ищу.Я разместил свой код ниже, надеюсь, вы, ребята, можете помочь!
# MAIN TABLE CODE*
import pygame
import pygame.freetype
import list_by_age
import list_by_child
import sort_by_lastname
# drawing spreadsheet
def recursive_draw(surf, x, y, width, height):
"""Recursive rectangle function."""
pygame.draw.rect(surf, (0, 0, 0), [x, y, width, height], 1)
if y >= 600: # Screen bottom reached.
return
# Is the rectangle wide enough to draw again?
elif x < 750 - width: # Right screen edge not reached.
x += width
# Recursively draw again.
recursive_draw(surf, x, y, width, height)
else:
# Increment y and reset x to 0 and start drawing the next row.
x = 0
y += height
recursive_draw(surf, x, y, width, height)
# data values
data = [
('NAME', 'DATE OF BIRTH', 'AGE', 'MARITAL STATUS', '# OF CHILDREN'),
('Deanerys T.', '6/10/1996', 22, 'Not Married', 3),
('Jon S.', '6/12/1984', 34, 'Not Married', 0),
('Gregor C.', '3/12/1980', 38, 'Not Married', 0),
('Khal D.', '8/4/1986', 32, 'Not Married', 4),
('Cersei L.', '7/2/1970', 48, 'Married', 2),
('Jamie L.', '7/2/1975', 43, 'Not Married', 0),
('Tyrion L.', '12/24/1980', 38, 'Married', 1),
('Sansa S.', '11/30/1993', 25, 'Married', 1),
('Ayra S.', '5/18/1999', 19, 'Not Married', 0),
('Ned S.', '6/27/1984', 34, 'Married', 5)
]
name_left = ["NAME",
"Deanerys",
"T,Jon S.",
"Gregor C.",
"Khal D.",
"Cersei L.",
"Jamie L.",
"Tyrion L.",
"Sansa S.",
"Ayra S.",
"Ned S."
]
# creating loop for options to change screen
# drawing values to rows/columns
def main():
pygame.init()
font = pygame.freetype.SysFont("Arial", 15, True, False)
size = [750, 550]
screen = pygame.display.set_mode(size)
clock = pygame.time.Clock()
screen.fill((255, 255, 255))
background = screen.copy()
recursive_draw(background, 0, 0, 150, 50)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return False
elif event.type == pygame.MOUSEBUTTONDOWN:
while True:
# options menu
retry = input(
"Type: 0 to see the table, 1 to search by age, 2 to search "
"by # of children, or 3 to search by last name, or EXIT to EXIT: ")
if retry == "1":
list_by_age.main()
if retry == "2":
list_by_child.main()
if retry == "3":
sort_by_lastname.main()
if retry == "EXIT":
exit()
else:
print("Please only pick one of the options listed above!")
screen.blit(background, (0, 0))
# let's have a padding of 15px inside the cell
x = 15
y = 15
for row in name_left:
for cell in name_left:
font.render_to(screen, (x, y, ), str(cell), pygame.Color('dodgerblue'))
x += 50 # should be a constant
y += 50 # should be a constant
x = 25 # should be a constant, too :-)
pygame.display.flip()
clock.tick(60)
if __name__ == '__main__':
main()
pygame.quit()