تمرین برنامه نویسی؛ با کدبزن!

منبع جامع سوالات و تمرینات برنامه نویسی

مدیریت خطاهای تقسیم

تمرین آسان 2043/ دانلود 334 بازدید
برنامه‌ای بنویس که از کاربر دو عدد بگیرد و آن‌ها را تقسیم کند. خطاهای ممکن (تقسیم بر صفر و ورودی نامعتبر) را مدیریت کن.
👨‍💻 18 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد

8 جواب

def divide_numbers():
    try:
        num1 = float(input("عدد اول را وارد کنید: "))
        num2 = float(input("عدد دوم را وارد کنید: "))
        result = num1 / num2
        print("نتیجه: ", result)
    except ZeroDivisionError:
        print("خطا: تقسیم بر صفر مجاز نیست.")
    except ValueError:
        print("خطا: لطفاً یک عدد معتبر وارد کنید.")

divide_numbers()
try:
    num_1=int(input("enter first number>>>"))
    num_2=int(input("enter second number>>>"))
    result=num_1/num_2
except ZeroDivisionError:
    print("division to 0 isn't ok")
except ValueError:
    print("the dadta must be a integer")

try :
    num1 = float(input('Enter Number : '))
    num2 = float(input('Enter Number : '))
    print(num1 / num2)
except ZeroDivisionError:
    print('ERROR : Divisoin by zero')
except ValueError:
    print('ERROR : invalid input')

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>تقسیم دو عدد</title>
  <link href="https://fonts.googleapis.com/css2?family=Vazirmatn&display=swap" rel="stylesheet">
  <style>
    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      padding: 0;
      font-family: 'Vazirmatn', sans-serif;
      background: linear-gradient(135deg, rgb(44, 58, 54),rgb(12, 42, 58));
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    form {
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
      border-radius: 20px;
      padding: 30px 40px;
      width: 90%;
      max-width: 400px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
      color: #e6dede;
      text-align: center;
    }

    label {
      display: block;
      margin: 15px 0 5px;
      font-size: 16px;
      font-weight: bold;
    }

    input[type="number"] {
      width: 100%;
      padding: 10px;
      border: none;
      border-radius: 10px;
      font-size: 16px;
      outline: none;
      background: rgba(255, 255, 255, 0.956);
    }

    input[type="submit"] {
      margin-top: 20px;
      width: 100%;
      padding: 12px;
      background: linear-gradient(to left, #11998e, #38ef7d);
      border: none;
      color: white;
      font-size: 18px;
      font-weight: bold;
      border-radius: 12px;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    input[type="submit"]:hover {
      transform: scale(1.03);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }

    #result {
      margin-top: 20px;
      font-size: 18px;
      font-weight: bold;
      color: rgb(235, 245, 255);
    }
  </style>
</head>
<body>

<form id="myForm">
  <label for="fn">عدد اولتان را وارد کنید :</label>
  <input type="number" id="fn">

  <label for="sn">عدد دومتان را وارد کنید:</label>
  <input type="number" id="sn">

  <input type="submit" value="محاسبه تقسیم">
  <div id="result"></div>
</form>

<script>
  const form = document.getElementById("myForm");

  form.addEventListener("submit", function (e) {
    e.preventDefault();

    const first_number = parseFloat(document.getElementById("fn").value);
    const second_number = parseFloat(document.getElementById("sn").value);
    const resultDiv = document.getElementById("result");
    let result;

    if (isNaN(first_number) || isNaN(second_number)) {
      result = "لطفاً هر دو عدد را وارد کنید.";
    } else if (second_number === 0) {
      result = "خطا! تقسیم بر صفر مجاز نیست.";
    } else {
      result = `نتیجه: ${first_number / second_number}`;
    }

    resultDiv.textContent = result;
  });
</script>

</body>
</html>

این کد چند خطای نحوی داره . اول کوتیشن یا دابل کوتیشن خط اول و دوم .... دومین خطا دستور شرطی هست که معنی این خط میشه صفر رو بگیر و بنداز در num 2 در واقع بایستی از == استفاده کرد و خطای آخر که در واقع نحوی نست و خطا نشون نمیده اینه که در دستور شرطی فقط گفته اگر num2 صفر بود پیغام بده این در صورتیه که اگر ما num 1 رو صفر قرار بدیم و متغیر دوم رو هر عددی غیر از صفر خطا نمیده . درست کد اینطوریه: num1 = int(input('Enter a number :')) num2 = int(input('Enter your number:')) answer = num1 / num2 if num2 == 0 : print ("Unacceptable") else: print(answer) ممنونم User 5045


while True:
    try:                                                       
    y = int(input("number 1: "))
        x = int(input("number 2: "))
        op = input("operation ")
        if op == "/" and x != 0:
            print(y / x)
            break
        else:
            print("invaild syntax:pleas try again")
    except ValueError:
print("pleas enter number ")

def sum(a,b):
    try:
        return a / b
    except ZeroDivisionError as zde:
        print(f"ZeroDivisionError has detected! Error:{zde}")

ask1 = int(input("a : "))
ask2 = int(input("b : "))
sum(ask1, ask2)

(print(sum(ask1, ask2) User 5045


ارسال جواب

  • قبل از ارسال جواب ویدیو زیر رو ببین تا کار کردن با markdown رو یاد بگیری
  • لطفا جواب های تکراری ارسال نکن
  • سعی کن داخل کدت از کلمات فارسی یا فینگلیش (فارسی با حروف انگلیسی) استفاده نکنی و کدت تماما انگلیسی باشه
  • لطفا داخل جواب از ایموجی یا کاراکترهای خاص استفاده نکن
  • ارسال جواب حق مادی یا معنوی برای ارسال کننده ایجاد نمیکند و تمام حقوق برای سایت کدبزن محفوظ است

راهنمای ارسال جواب 👇

×
×
بستن