آموزش ساخت ماشین حساب ساده با پایتون
import math
import os
def clear_screen():
# پاک کردن صفحه کنسول (در ویندوز 'cls' و در مک/لینوکس 'clear')
os.system('cls' if os.name == 'nt' else 'clear')
def show_menu():
print("--- ماشینحساب پیشرفته پایتون ---")
print("1. جمع (+)")
print("2. تفریق (-)")
print("3. ضرب (*)")
print("4. تقسیم (/)")
print("5. توان (x^y)")
print("6. جذر (√)")
print("7. باقیمانده (%)")
print("8. خروج")
print("--------------------------------")
def calculate():
while True:
show_menu()
choice = input("لطفاً یک گزینه را انتخاب کنید (1-8): ")
if choice == '8':
print("با تشکر از استفاده شما. خدانگهدار!")
break
# عملیاتهایی که نیاز به دو عدد دارند
if choice in ['1', '2', '3', '4', '5', '7']:
try:
num1 = float(input("عدد اول را وارد کنید: "))
num2 = float(input("عدد دوم را وارد کنید: "))
if choice == '1':
print(f"نتیجه: {num1} + {num2} = {num1 + num2}")
elif choice == '2':
print(f"نتیجه: {num1} - {num2} = {num1 - num2}")
elif choice == '3':
print(f"نتیجه: {num1} * {num2} = {num1 * num2}")
elif choice == '4':
if num2 == 0:
print("خطا: تقسیم بر صفر امکانپذیر نیست!")
else:
print(f"نتیجه: {num1} / {num2} = {num1 / num2}")
elif choice == '5':
print(f"نتیجه: {num1} به توان {num2} = {math.pow(num1, num2)}")
elif choice == '7':
print(f"نتیجه باقیمانده: {num1} % {num2} = {num1 % num2}")
except ValueError:
print("خطا: لطفاً فقط عدد وارد کنید.")
# عملیاتهایی که نیاز به یک عدد دارند
elif choice == '6':
try:
num = float(input("عدد را وارد کنید: "))
if num < 0:
print("خطا: جذر اعداد منفی در اعداد حقیقی تعریف نشده است.")
else:
print(f"نتیجه: √{num} = {math.sqrt(num)}")
except ValueError:
print("خطا: ورودی نامعتبر است.")
else:
print("گزینه انتخاب شده اشتباه است. دوباره تلاش کنید.")
input("\nبرای ادامه کلید Enter را بزنید...")
clear_screen()
if __name__ == "__main__":
calculate()
ویژگیهای این برنامه:
مدیریت هوشمند خطا: اگر کاربر به جای عدد، متن وارد کند یا سعی کند عددی را بر صفر تقسیم کند، برنامه به جای بسته شدن، پیغام خطای فارسی مناسب نمایش میدهد.
پاکسازی صفحه (Clear Screen): برای اینکه محیط کنسول شلوغ نشود، بعد از هر محاسبه و فشردن Enter، صفحه پاک شده و منو دوباره نمایش داده میشود.
کتابخانه Math: برای محاسبات توان و جذر از متدهای استاندارد پایتون استفاده شده تا دقت بالا حفظ شود.