Mundo em Python

Calcular o número de tatamis

import tkinter as tk
import math # Inicializa a janela principal
root = tk.Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular o número de tatamis") # Label para o dropdown
titulo = tk.Label(root, text="Selecione o Tamanho do Tatami:",
font=("Arial", "15", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.1, rely=0.05) # Lista de opções para o dropdown
lista = ["Tatamis de 1m x 1m", "Tatamis de 1m x 2m"]
var = tk.StringVar(value=lista[0]) # Valor padrão é o primeiro item da lista

# Menu dropdown
dropdown = tk.OptionMenu(root, var, *lista)
dropdown.place(relx=0.2, rely=0.2, relwidth=0.6)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", "15", "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", "12", "bold")) # Campos de entrada para as dimensões
texto_sub1 = tk.Label(root, text="Lado 1 (m):",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.2, rely=0.33) texto_sub2 = tk.Label(root, text="Lado 2 (m):",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.2, rely=0.45) lado1 = tk.StringVar()
lado1_entrada = tk.Entry(root, textvariable=lado1,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
lado1_entrada.place(relx=0.55, rely=0.33, relwidth=0.35)
lado1_entrada.focus() lado2 = tk.StringVar()
lado2_entrada = tk.Entry(root, textvariable=lado2,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
lado2_entrada.place(relx=0.55, rely=0.45, relwidth=0.35)
# Função para calcular o número de tatamis
def mostrar_selecao():
try:
l1 = int(lado1.get())
l2 = int(lado2.get()) if l1 <= 0 or l2 <= 0:
raise ValueError("Os lados devem ser positivos e maiores que zero.") area = l1 * l2
selecao = var.get() # Determina o número de tatamis necessários com base na seleção
if selecao == "Tatamis de 1m x 1m":
numero_tatamis = math.ceil(area / 1)
else: # "Tatamis de 1m x 2m"
numero_tatamis = math.ceil(area / 2) resultado_texto.config(text=f"Área do tatame: {round(area, 2)}\nNúmero de Tatamis: {numero_tatamis}") except ValueError:
resultado_texto.config(text="Por favor, insira valores válidos para os lados.")
# Botão para confirmar a seleção
botao_confirmar = tk.Button(root, text="Confirmar", command=mostrar_selecao,
bg='#107db2', fg='white', font=('verdana', 12, 'bold'))
botao_confirmar.place(relx=0.35, rely=0.55, relwidth=0.3) # Área para mostrar o resultado da seleção
resultado_texto = tk.Label(root, text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.1, rely=0.8, relwidth=0.8, relheight=0.15) # Executa o loop principal da interface
root.mainloop()
0