# Veio da Aula 09 Teórica:
def tabuada(N=10, printa=False, interage=False):
    """
    Retorna a tabuada de multiplicação dos números de 1 a N.
    A tabuada é um dicionário de dicionários;
    o dicionário externo tem como chaves os números de 1 a N,
    que serão usados nas esquerdas das multiplicações.
    Cada valor do dicionário externo é um dicionário interno, cujas
    chaves também são os números de 1 a N, que serão usados nas direitas das
    multiplicações, e os valores são os resultados das multiplicações
    """
    if interage:
        N = int(input('Digite o número: '))
    comprimento = len(str(N))
    if not printa:
        dicionário_externo = {}
    for esquerda in range(1, N + 1):
        if not printa:
            dicionário_externo[esquerda] = {}
        for direita in range(1, N + 1):
            if printa:
                # print aqui
                print(f"{esquerda:{comprimento}} x {direita:{comprimento}} = {esquerda*direita}")
            else:
                # guardar no dicionário
                ((dicionário_externo)[esquerda])[direita] = esquerda * direita
        if printa:
            # no fim do loop "esquerda", printar uma linha em branco
            print('\n', end='')
    if not printa:
        # retornar o dicionário construído
        return dicionário_externo
