Fases da vida (terminal e Tkinter)

def perguntar():
try:
idade = int(input("Digite a tua idade : "))
if idade >=18:
print("Tu és Adulto.")
elif idade>=13 and idade<=17:
print("Tu és Adolescente.")
elif idade >= 12:
print("Tu és Criança.")
except:
print("\033[1;31m Opa! entrada invalida :(\33[0;0m")
perguntar()
escolha=True
while escolha:
print("\tQual é sua Fase de vida?")
print("""
1.Fases da vida
2.Exit/Quit/Saída
""")
escolha= input("Escolha uma opção: ")
if escolha=="1":
print('\n')
perguntar()
elif escolha=="2":
print("\n Fim do Programa")
escolha = None
else:
print("\n \033[1;31m Escolha não válida.\nTente outra vez.\33[0;0m")

# Outra Versão


from tkinter import *
from datetime import datetime
root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Fases de Vida")
titulo = Label(text="Fases de Vida",
font=("Arial", "40", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)

texto_sub1 = Label(text="Data de Nascimento (dd/mm/aaaa)",
font=("Arial", "17", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25)
data_nascimento = StringVar()
data_nascimento_entrada = Entry(textvariable=data_nascimento,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
data_nascimento_entrada.place(relx=0.3, rely=0.35, relwidth=0.4)
data_nascimento_entrada.focus()

def limpar():
data_nascimento_entrada.delete(0,END)
resultado_texto.config(text="")


def app(event=None):
try:
datanascimento = data_nascimento.get()
data = datetime.strptime(datanascimento, '%d/%m/%Y')
hoje = datetime.today()
i = hoje.year - data.year - ((hoje.month, hoje.day) < (data.month, data.day))
idade_em_meses = (hoje.year - data.year) * 12 + (hoje.month - data.month)
if i >= 18:
mensagem = f"Tens {i}. És um Adulto."
elif i >= 13:
mensagem = f"Tens {i}. És um adolescente."
elif i >= 1:
mensagem = f"Tens {i}. És uma criança."
else:
mensagem = f"Tens {idade_em_meses} meses. És um bebê."

resultado_texto.config(text=mensagem)
except ValueError:
resultado_texto.config(text="Erro de digitação.\n"
"Por favor, insira a data \n"
"no formato dd/mm/aaaa.")
data_nascimento_entrada.bind("<Return>", app)
but1 = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.5, relwidth=0.25, relheight=0.1)

but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.5, relwidth=0.25, relheight=0.1)

but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.5, relwidth=0.25, relheight=0.1)
resultado_texto = Label(font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.68, relwidth=0.9, relheight=0.3)
root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Análise de Probabilidades