Resoluções exercício 3 do capitulo 3 - Grid #16
Replies: 4 comments
-
|
Solução do autor # here is a mostly-straightforward solution to the
# two-by-two version of the grid.
def do_twice(f):
f()
f()
def do_four(f):
do_twice(f)
do_twice(f)
def print_beam():
print('+ - - - -', end=' ')
def print_post():
print('| ', end=' ')
def print_beams():
do_twice(print_beam)
print('+')
def print_posts():
do_twice(print_post)
print('|')
def print_row():
print_beams()
do_four(print_posts)
def print_grid():
do_twice(print_row)
print_beams()
print_grid()
# here is a less-straightforward solution to the
# four-by-four grid
def one_four_one(f, g, h):
f()
do_four(g)
h()
def print_plus():
print('+', end=' ')
def print_dash():
print('-', end=' ')
def print_bar():
print('|', end=' ')
def print_space():
print(' ', end=' ')
def print_end():
print()
def nothing():
"do nothing"
def print1beam():
one_four_one(nothing, print_dash, print_plus)
def print1post():
one_four_one(nothing, print_space, print_bar)
def print4beams():
one_four_one(print_plus, print1beam, print_end)
def print4posts():
one_four_one(print_bar, print1post, print_end)
def print_row():
one_four_one(nothing, print4posts, print4beams)
def print_grid():
one_four_one(print4beams, print_row, nothing)
print_grid() |
Beta Was this translation helpful? Give feedback.
-
|
Minha solução # Strings and Math way ----------------------------------------------------------
def generate_middle(column,size):
return (("| " + " "*(size*2)) * column + "|\n") * size
def create_grid_border_line(column,size):
return "+ " + (("- "*size + "+ ")*column)
def draw_grid(lines,column,size):
grid = create_grid_border_line(column,size)
grid += "\n"
grid += generate_middle(column,size)
grid *= lines
grid += create_grid_border_line(column,size)
return(grid)
string_grid = draw_grid(2,5,4)
print(string_grid) |
Beta Was this translation helpful? Give feedback.
-
size = 10
cells = 2
def print_line (arg1, arg2):
knots = "+"
length = "-"*arg1
print(knots+(length+knots)*arg2)
def print_column(arg1, arg2):
edge = "|"
line_length = " "*arg1
print(edge+(line_length+edge)*arg2)
def column_length(func,arg1,arg2):
func(arg1,arg2)
func(arg1,arg2)
func(arg1,arg2)
func(arg1,arg2)
print_line(size,cells)
column_length(print_column,size,cells)
print_line(size,cells)
column_length(print_column,size,cells)
print_line(size,cells) |
Beta Was this translation helpful? Give feedback.
-
|
Bom, para não achar bobo o exercicio de fazer quadradinhos com caracteres, veja uma aplicação : A missão é colocar o calendario gerado pelo calendar.month dentro de uma moldura nos moldes do exercicio.... esta missão é inspirada em outros usos do exercico que nos leva aos Ascii Arts como em |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Conforme discutido no encontro, vamos compartilhar nossas resoluções do exercícios de grid 😉
Para colocar seu código aqui com marcadores de sintaxe faz assim:
``` python {seu código aqui} ```Beta Was this translation helpful? Give feedback.
All reactions