Untitled

mail@pastecode.io avatar
unknown
python
a year ago
5.8 kB
3
Indexable
Never
<py-script>
def format_author(author):
    split_name = author.split()
    formatted_name = split_name[-1].upper() + ', ' + split_name[0][0].upper()
    return formatted_name

def book():
    author = input("Digite primeiro o Nome e Sobrenome do: ")
    formatted_author = format_author(author)
    title = input("Digite o título do livro: ")
    subtitle = input("Digite o subtítulo do livro (se houver): ")
    edition = input("Digite a edição do livro (se houver): ")
    location = input("Digite o local de publicação do livro: ")
    publisher = input("Digite o nome da editora: ")
    year = input("Digite o ano de publicação do livro: ")
    if subtitle != "":
        full_title = f"{title}: {subtitle}"
    else:
        full_title = title
    if edition != "":
        full_title += f", {edition}ª edição"
    ref = f"{formatted_author}. {full_title}. {location}: {publisher}, {year}."
    print("Referência formatada:", ref)


def book_with_multiple_authors():
    author_count = int(input("Quantos autores o livro possui? "))
    authors = []
    for i in range(author_count):
        author = input(f"Digite o sobrenome e nome abreviado do autor {i+1}: ")
        formatted_author = format_author(author)
        authors.append(formatted_author)
    if author_count > 3:
        author_list = authors[0] + " et al."
    else:
        author_list = ", ".join(authors)
    title = input("Digite o título do livro: ")
    subtitle = input("Digite o subtítulo do livro (se houver): ")
    edition = input("Digite a edição do livro (se houver): ")
    location = input("Digite o local de publicação do livro: ")
    publisher = input("Digite o nome da editora: ")
    year = input("Digite o ano de publicação do livro: ")
    if subtitle != "":
        full_title = f"{title}: {subtitle}"
    else:
        full_title = title
    if edition != "":
        full_title += f", {edition}ª edição"
    ref = f"{author_list}. {full_title}. {location}: {publisher}, {year}."
    print("Referência formatada:", ref)


def online_article():
    author = input("Digite o sobrenome e nome abreviado do autor: ")
    formatted_author = format_author(author)
    title = input("Digite o título do artigo: ")
    subtitle = input("Digite o subtítulo do artigo (se houver): ")
    website = input("Digite o nome do site: ")
    year = input("Digite o ano de publicação do artigo: ")
    link = input("Digite o link do artigo: ")
    date_accessed = input("Digite a data de acesso ao artigo: ")
    if subtitle != "":
        full_title = f"{title}: {subtitle}"
    else:
        full_title = title
    ref = f"{formatted_author}. {full_title}. {website}, {year}. Disponível em: {link}. Acesso em: {date_accessed}."
    print("Referência formatada:", ref)


def legislation():
    number = input("Digite o número da lei: ")
    year = input("Digite o ano da lei: ")
    function = input("Digite a função da lei: ")
    diario_oficial_volume = input("Digite o volume do Diário Oficial onde a lei foi divulgada: ")
    diario_oficial_issue = input("Digite o número da edição do Diário Oficial onde a lei foi divulgada: ")
    diario_oficial_date = input("Digite a data de publicação do Diário Oficial onde a lei foi divulgada no formato dd/mm/aaaa: ")
    section = input("Digite a seção do Diário Oficial onde a lei foi divulgada: ")
    pages = input("Digite as páginas do Diário Oficial onde a lei foi divulgada: ")
    reference = f"BRASIL. Lei nº {number}, de {year}. {function}. Diário Oficial da União, Brasília, DF, v. {diario_oficial_volume}, n. {diario_oficial_issue}, {diario_oficial_date}. {section}, {pages}."
    return reference
    
def scientific_article_periodical():
    author_count = int(input("Quantos autores o artigo possui? "))
    authors = []
    for i in range(author_count):
        author = input(f"Digite o sobrenome e nome abreviado do autor {i+1}: ")
        formatted_author = format_author(author)
        authors.append(formatted_author)
    if author_count > 3:
        author_list = authors[0] + " et al."
    else:
        author_list = ", ".join(authors)
    formatted_author = format_author(author)
    title = input("Digite o título do artigo: ")
    location = input("Digite o local de publicação da revista: ")
    volume = input("Digite o número do volume: ")
    pages = input("Digite as páginas inicial e final, separadas por um traço: ")
    month = input("Digite o mês de publicação: ")
    year = input("Digite o ano de publicação: ")
    ref = f"{formatted_author}. {title}., {location}, v.{volume}, p.{pages}, {month} {year}."
    print("Referência formatada:", ref)


while True:
    print("Escolha o tipo de referência:")
    print("1 - Livro")
    print("2 - Livro com 3 autores ou mais")
    print("3 - Artigo online")
    print("4 - Artigo online com autor desconhecido")
    print("5 - Legislação")
    print("6 - Artigo de revista")
    print("7 - Tese")
    print("8 - Artigo Científico / periódicos")
    option = input("Digite a opção desejada: ")
    if option == "1":
        print(book())
    elif option == "2":
        print(book_with_multiple_authors())
    elif option == "3":
        print(online_article())
    elif option == "4":
        print(online_article_unknown_author())
    elif option == "5":
        print(legislation())
    elif option == "6":
        print(magazine_article())
    elif option == "7":
        print(thesis())
    elif option == "8":
        print(scientific_article_periodical())
    else:
        print("Opção inválida. Por favor, digite uma opção válida.")

<py-repl>
generate_reference()
</py-repl>
</py-script>