from os import name, system
import questionary as qa
from rich import print as rprint
from rich.panel import Panel
def clear():
system('cls' if name == 'nt' else 'clear')
def toplama(x, y):
rprint(Panel.fit(f"[green][strong]{x + y}[/strong][/green]"))
def cikarma(x, y):
rprint(Panel.fit(f"[yellow][strong]{x - y}[/strong][/yellow]"))
def carpma(x, y):
rprint(Panel.fit(f"[blue][strong]{x * y}[/strong][/blue]"))
def bolme(x, y):
if y == 0:
rprint(Panel.fit("[red]Bir sayı sıfıra bölünemez![/red]"))
else:
rprint(Panel.fit(f"[magenta][strong]{x / y}[/strong][/magenta]"))
def menuLoop():
while True:
clear()
rprint(Panel.fit("[green][strong]Hesap Makinesi[/strong][/green]"))
islem = qa.select(
"İşlemi seç (ok tuşlarını kullan enter ile seç):",
choices=["Toplama", "Çıkarma", "Çarpma", "Bölme", "Kapat"],
instruction=" ",
).ask()
if islem == "Kapat":
clear()
exit()
try:
sayi1 = float(qa.text("1. Sayı: ").ask())
sayi2 = float(qa.text("2. Sayı: ").ask())
except ValueError:
rprint(Panel.fit("[red][strong]Geçerli bir sayı giriniz![/strong][/red]"))
qa.press_any_key_to_continue("Bir tuşa basarak devam edin...").ask()
continue
if islem == "Toplama":
toplama(sayi1, sayi2)
elif islem == "Çıkarma":
cikarma(sayi1, sayi2)
elif islem == "Çarpma":
carpma(sayi1, sayi2)
elif islem == "Bölme":
bolme(sayi1, sayi2)
qa.press_any_key_to_continue("Bir tuşa basarak devam edin...").ask()
if __name__ == "__main__":
menuLoop()