Funções sem argumentos

Já trabalhámos com funções em Python. Na verdade, o nosso primeiro programa já utilizava uma função. A print() é, de facto, uma função. min(), max(), input(), sorted(), e todos os outros comandos com parênteses são funções.
As funções executam várias instruções e, em alguns casos, retornam um resultado. A min() calcula o mínimo de vários valores e devolve esse valor. A print(), por outro lado, imprime um valor na saída.
As funções são especialmente úteis para eliminar código repetitivo. Também podemos definir as nossas próprias funções. Imagine que gostaria de imprimir um certo objeto 3 vezes e fazer algo diferente entre cada impressão:
print('*')
print('##')
print('***')
print('####')
print('*****')

n = int(input())
print('~' * n)

print('*')
print('##')
print('***')
print('####')
print('*****')

name = input()
print(f'Hi, {name}')

print('*')
print('##')
print('***')
print('####')
print('*****')
def print_triangle():
    print('*')
    print('##')
    print('***')
    print('####')
    print('*****')

print_triangle()
n = int(input())
print('~' * n)

print_triangle()
name = input()
print(f'Hi, {name}')

print_triangle()
Para definir uma função personalizada, é necessário usar a palavra-chave def seguida do nome da função (print_triangle no nosso caso), seguida de () e de um : para marcar o início do bloco da função. A lista de instruções que a função deve executar é colocada num bloco indentado dentro do corpo da função.
Ambos os programas realizam exatamente as mesmas operações, mas o segundo define a parte repetitiva numa função e assegura que o código não é copiado e colado.
Por outro lado, o primeiro tem muito código copiado e, caso decidamos mudar o * para % ao imprimir o triângulo, seria necessário fazer muitas alterações e percorrer cada linha para efetuar a mudança. Isto pode tornar-se realmente confuso em bases de código maiores e é muito propenso a erros.

Desafio

Defina uma função que imprime um retângulo de $$10 \times 12$$ e chame-a 3 vezes. As bordas do retângulo devem ser compostas pelo símbolo #, e o interior deve estar vazio.
__Output__
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue