import tkinter as tk
from functools import partial
tempVal = "Todas Maiúsculas"
def store_temp(sel_temp):
global tempVal
tempVal = sel_temp
def call_convert(rlabel1, inputn):
tem = inputn.get()
if tempVal == 'Todas Maiúsculas':
palavra = tem.upper()
rlabel1.config(text="Resultado: " + palavra)
elif tempVal == 'Todas Minúscula':
palavra = tem.lower()
rlabel1.config(text="Resultado: " + palavra)
elif tempVal == 'Primeira Letra como Minúsculas':
palavra = tem.lower().capitalize() # converte a primeira letra para maiúscula e as demais para minúscula
rlabel1.config(text="Resultado: " + palavra)
elif tempVal == 'Substitui todas as consoantes por Maiúsculas':
b = tem.lower()
consoantes = 'bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ'
palavra = ''.join([c.upper() if c.isalpha() and c in consoantes else c for c in b])
rlabel1.config(text="Resultado: " + palavra)
elif tempVal == 'Substitui todas as vogais por Maiúsculas':
a = tem.lower()
vogais = 'aeiouAEIOU'
palavra = ''.join([c.upper() if c.isalpha() and c in vogais else c for c in a])
rlabel1.config(text="Resultado: " + palavra)
root = tk.Tk()
root.geometry('400x250')
root.title('Maiúsculas e Minúsculas')
root.configure(background='#09A3BA')
root.resizable(width=False, height=False)
# Widgets da entrada de texto e rótulo
numberInput = tk.StringVar()
input_label = tk.Label(root, text="Texto:", background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14, "bold"))
input_entry = tk.Entry(root, textvariable=numberInput)
input_label.place(relx=0.15, rely=0.1)
input_entry.place(relx=0.4, rely=0.11)
result_label1 = tk.Label(root, background='#09A3BA', foreground="#FFFFFF",font=("Arial", 14, "bold"))
result_label1.place(relx=0.2, rely=0.75)
dropDownList = ["Todas Maiúsculas", "Todas Minúscula",
"Primeira Letra como Maiúsculas", "Substitui todas as consoantes por Maiúsculas",
"Substitui todas as vogais por Maiúsculas"]
var = tk.StringVar()
dropdown = tk.OptionMenu(root, var, *dropDownList, command=store_temp)
var.set(dropDownList[0])
dropdown.place(relx=0.3, rely=0.3)
dropdown.config(background='#09A3BA', foreground="#FFFFFF")
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF")
call_convert = partial(call_convert, result_label1, input_entry)
result_button = tk.Button(root, text="Converter", command=call_convert, background='#09A3BA', foreground="#FFFFFF")
result_button.place(relx=0.35, rely=0.55, relwidth=0.3, relheight=0.1)
root.mainloop()