Jump to content

Erro de programação.


Postagens Recomendadas

Qual seria o erro do seguinte código? Pois ele apresenta alguns erros que não estou conseguindo solucionar. Agradeceria muito quem podesse me ajudar.

from tkinter import *

 

janela = Tk()

janela.title("McDonald's")

 

def salvar_dados():

    f = open("pedidos.txt", "a")

    f.write(f"Nome: {nome.get()}\n")

    f.write(f"Pão: {pao.get()}\n")

    f.write(f"Carne: {carne.get()}\n")

    f.write(f"Salada: {salada.get()}\n")

    f.write(f"Tempero: {tempero.get()}\n")

    f.write(f"Condimentos: {condimentos.get()}\n")

    f.write(f"Acompanhamentos: {acompanhamentos.get()}\n")

    f.write(f"Bebidas: {bebidas.get()}\n")

    f.write(f"Observação: {observacao.get()}\n")

    #nome.set("Araras")

    nome.delete(0, END)

    observacao.delete(0, END)

    f.close()

 

def ler_pao(arquivo):

    leit1 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit1.append(linha.rstrip())

    f.close()

    leit1.sort()

    return leit1

 

def ler_carne(arquivo):

    leit2 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit2.append(linha.rstrip())

    f.close()

    leit2.sort()

    return leit2

 

def ler_salada(arquivo):

    leit3 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit3.append(linha.rstrip())

    f.close()

    leit3.sort()

    return leit3

 

def ler_tempero(arquivo):

    leit4 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit4.append(linha.rstrip())

    f.close()

    leit4.sort()

    return leit4

 

def ler_condimentos(arquivo):

    leit5 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit5.append(linha.rstrip())

    f.close()

    leit5.sort()

    return leit5

 

def ler_acompanhamentos(arquivo):

    leit6 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit6.append(linha.rstrip())

    f.close()

    leit6.sort()

    return leit6

 

def ler_bebidas(arquivo):

    leit7 = []

    f = open(arquivo, encoding="utf8")

    for linha in f: leit7.append(linha.rstrip())

    f.close()

    leit7.sort()

    return leit7

 

pedido_txt = "pedidos.txt"

paon = "Escolha o pão"

carnen = "Escolha a carne"

salan = "Escolha a salada"

tempn = "Escolha o tempero"

condin = "Escolha os condimentos"

acomn = "Escolha os acompanhamentos"

bebn = "Escolha as bebidas"

 

p1 = Label(janela, text="Pão: ").pack()

pao = StringVar()

pao.set(paon)

 

op1 = ler_pao("pao.txt")

OptionMenu(janela,pao,p1, *op1).pack()

 

p2 = Label(janela, text="Carne: ").pack()

carne = StringVar()

carne.set(carnen)

 

op2 = ler_carne("carne.txt")

OptionMenu(janela,carne,p2, *op2).pack()


 

p3 = Label(janela, text="Salada: ").pack()

salada = StringVar()

salada.set(salan)

 

op3 = ler_salada("salad.txt")

OptionMenu(janela, salada,p3, *op3).pack()

 

p4 = Label(janela, text="Tempero: ").pack()

tempero = StringVar()

tempero.set(tempn)

 

op4 = ler_tempero("temp.txt")

OptionMenu(janela, tempero,p4, *op4).pack()

 

p5 = Label(janela, text="Condimentos: ").pack()

condimentos = StringVar()

condimentos.set(condin)

 

op5 = ler_condimentos("condi.txt")

OptionMenu(janela, condimentos,p5, *op5).pack()

 

p6 = Label(janela, text="Acompanhamentos: ").pack()

acompanhamentos = StringVar()

acompanhamentos.set(acomn)

 

op6 = ler_acompanhamentos("acom.txt")

OptionMenu(janela, acompanhamentos,p6, *op6).pack()

 

p7 = Label(janela, text="Bebidas: ").pack()

bebidas = StringVar()

bebidas.set(bebn)

 

op7 = ler_bebidas("beb.txt")

OptionMenu(janela, bebidas,p7, *op7).pack()

 

n = Label(janela, text="Nome: ").pack()

nome = Entry(janela)

nome.pack()

 

obs = Label(janela, text="Observação: ").pack()

observacao = Entry(janela)

observacao.pack()

 

sv = Button(janela, text="Salvar", command=salvar_dados)

sv.pack()

 

janela.mainloop()

Link to comment
Compartilhe em outros sites

Olá, executei seu código e recebi o erro:

utf-8' codec can't decode byte 0xe3

Para resolve-lo há duas opções:

  • Remover os caracteres especiais do seu código(ã, é, ç)
  • Alterar a codificação padrão do arquivo .py para UTF-8

A segunda opção parece ser a melhor e após aplicar a mudança consegui executar o código sem problemas.

image.png

Não tenho tanta experiência com python então é possível que haja uma solução mais elegante.

 

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...