Mundo em Python

Compatibilidade de Sangue do ponto de vista doador e Receptor

# Versão Compatibilidade de Sangue (Receptor)


from tkinter import ttk

# Dicionário de compatibilidade sanguínea (receptor)
receptor_compatibilidade_para_doador = {
"O-": ["O-"],
"O+": ["O-", "O+"],
"A-": ["O-", "A-"],
"A+": ["O-", "O+", "A-", "A+"],
"B-": ["O-", "B-"],
"B+": ["O-", "O+", "B-", "B+"],
"AB-": ["O-", "A-", "B-", "AB-"],
"AB+": ["O-", "O+", "A-", "A+", "\nB-", "B+", "AB-", "AB+"]
} # Função para mostrar os tipos compatíveis para o receptor
def mostrar_compatibilidade(event):
tipo_selecionado = combobox.get()
tipos_compatíveis = receptor_compatibilidade_para_doador.get(tipo_selecionado, [])
tipo_label.config(text=f"Pode receber de: {', '.join(tipos_compatíveis)}") # Inicializando a janela principal
root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Compatibilidade de Sangue (Receptor)") # Título da janela
titulo = Label(root, text="Compatibilidade de Sangue (Receptor)", font=("Arial", 15, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # Rótulo de seleção
Tipos_label = Label(root, text="Selecione um tipo de sangue:", font=("Arial", 14), bg="#103030", fg="#ffffff")
Tipos_label.place(relx=0.05, rely=0.2) # Combobox para seleção do tipo sanguíneo
Tipos_sangue_ordenados = sorted(receptor_compatibilidade_para_doador.keys())
combobox = ttk.Combobox(root, values=Tipos_sangue_ordenados, font=("Arial", 12))
combobox.place(relx=0.05, rely=0.3)
combobox.bind("<<ComboboxSelected>>", mostrar_compatibilidade) # Rótulo para mostrar os tipos compatíveis
tipo_label = Label(root, text="Pode receber de: ", font=("Arial", 14), bg="#103030", fg="#ffffff")
tipo_label.place(relx=0.05, rely=0.4) # Iniciando a aplicação
root.mainloop()

#Compatibilidade de Sangue do ponto de vista do doador


from tkinter import *
from tkinter import ttk # Dicionário de compatibilidade sanguínea
doador_compatibilidade_para_receptor = {
"O-": ["O-", "O+", "A-", "A+", "B-", "B+", "\nAB-","AB+"],
"O+": ["O+", "A+", "B+", "AB+"],
"A-": ["A-", "A+", "AB-", "AB+"],
"A+": ["A+", "AB+"],
"B-": ["B-", "B+", "AB-", "AB+"],
"B+": ["B+", "AB+"],
"AB-": ["AB-", "AB+"],
"AB+": ["AB+"]
} # Função para mostrar os tipos compatíveis
def mostrar_compatibilidade(event):
tipo_selecionado = combobox.get()
tipos_compatíveis = doador_compatibilidade_para_receptor.get(tipo_selecionado, [])
tipo_label.config(text=f"Pode doar para: {', '.join(tipos_compatíveis)}") # Inicializando a janela principal
root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Compatibilidade de Sangue") # Título da janela
titulo = Label(root, text="Compatibilidade de Sangue", font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05) # Rótulo de seleção
Tipos_label = Label(root, text="Selecione um tipo de sangue:", font=("Arial", 14), bg="#103030", fg="#ffffff")
Tipos_label.place(relx=0.05, rely=0.2) # Combobox para seleção do tipo sanguíneo
Tipos_sangue_ordenados = sorted(doador_compatibilidade_para_receptor.keys())
combobox = ttk.Combobox(root, values=Tipos_sangue_ordenados, font=("Arial", 12))
combobox.place(relx=0.05, rely=0.3)
combobox.bind("<<ComboboxSelected>>", mostrar_compatibilidade) # Rótulo para mostrar os tipos compatíveis
tipo_label = Label(root, text="Pode doar para: ", font=("Arial", 14), bg="#103030", fg="#ffffff")
tipo_label.place(relx=0.05, rely=0.4) # Iniciando a aplicação
root.mainloop()
0