Magic 8 Ball

import random
def answers():
answer = ["So let it be written. So let it be done.",
"Even a blind squirrel finds a nut sometimes.",
"Yes. Break out the champagne.","Definitely.",
"That sounds awful.","I am certain of it.","Stormy weather ahead.",
"Absolutely.","Don't know. Don't care.","It doesn't look good.","No."
,"Probably.","Meh.","It is known.","Don’t bet on it.",
"I have a headache. Ask again later.",
"Yes!", "Maybe later."
,"Trust me, you don't want to know.", "It's hard to say"]
choices = random.choice(answer)
return choices
def Magic8Ball():
question = str(input('Ask me a question.'))
print(answers())
print('I hope that helped!')
Replay()
def Replay():
rep = str(input('Do you have another question? [Y/N] '))
x = rep.lower()
if x == 'y':
Magic8Ball()
elif x == 'n':
print('THE END')
exit()
else:
print('I apologies, I did not catch that. Please repeat.')
Replay()
Replay()


# Versão Tkinter

from tkinter import *
import random

root = Tk()
root.geometry("700x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Bem-vindo à Bola 8 Mágica")
titulo = Label(text="Bem-vindo à Bola 8 Mágica",
font=("Arial", "28", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.13, rely=0.05)

texto_sub1 = Label(text="Pergunta:",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.3)

Pergunta = StringVar()
Pergunta_entrada = Entry(textvariable=Pergunta,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Pergunta_entrada.place(relx=0.24, rely=0.31, relwidth=0.75)
def limpar():
Pergunta_entrada.delete(0, END)
resultado_texto.config(text="")

def app(event=None):
p = Pergunta.get()

if not p.strip():
resultado_texto.config(text="Por favor, insira uma pergunta válida!", fg="red")
return
respostas_positivas = ["Com certeza!", "É decididamente assim.",
"Sem dúvida.", "Sim, definitivamente.", "Você pode contar com isso."]
respostas_neutras = ["Resposta nebulosa, tente novamente.",
"Pergunte novamente mais tarde.",
"Melhor não te dizer agora.", "Não é possível prever agora.",
"Concentre-se e pergunte novamente."]
respostas_negativas = ["Não conte com isso.", "Minha resposta é não.",
"Minhas fontes dizem não.", "As perspectivas não são boas.",
"Muito duvidoso."]

todas_respostas = respostas_positivas + respostas_neutras + respostas_negativas
resposta = random.choice(todas_respostas)
if resposta in respostas_positivas:
mensagem = f"{resposta}"
resultado_texto.config(fg="green")
elif resposta in respostas_neutras:
mensagem = f"{resposta}"
resultado_texto.config(fg="yellow")
else:
mensagem = f"{resposta}"
resultado_texto.config(fg="red")

resultado_texto.config(text=mensagem) # Atualiza o texto da resposta

Pergunta_entrada.bind("<Return>", app)

# Botões
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.15)

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.15)

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.15)

resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9, relheight=0.2)

root.mainloop()



Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação