اذهب إلى المحتوى

السؤال

نشر

هذا المطلوب

Write a program that helps the first-grade student to division and sub (if the student
enters the phrase indicating division, the program will show the division question, and if the
phrase indicating sub is entered, the program will show the sub question. For the student
that entered the wrong operation, make sure to show a message showing that the student
entered the wrong operation).
After that, the program selects two integer numbers randomly
from number 1 to 12, considering that number1> = number2, then the student must be asked
to answer.
The program will then display a message indicating if the answer is correct. If the
answer is wrong, the program must display the correct answer.
Repeat the previous process 5 times (the student must choose between division and sub

Recommended Posts

  • 0
نشر

من فضلك قم بذكر ما الذي حاولت القيام به و ما الأخطاء التي حدثت معك، يمكننا مساعدتك بحل أخطاء معينة و لكن إعطاءك الجواب على سؤالك فوراً لن يعود عليك بأي فائدة و لن تتطور مهاراتك البرمجية في حال قمنا بذلك.

  • 0
نشر
operation = input('''
Please type in the math operation you would like to complete:
- for subtraction
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if  operation == '-':
    print('{} - {} = '.format(number_1, number_2))
    print(number_1 - number_2)

elif operation == '/':
    print('{} / {} = '.format(number_1, number_2))
    print(number_1 / number_2)

else:
    print('You have not typed a valid operator, please run the program again.')

هذا اللي انا سويته اللي ماعرفت هو التكرار وتوقف البرنامج

  • 0
نشر
بتاريخ 2 دقائق مضت قال Saeed Alghamdi4:

operation = input('''
Please type in the math operation you would like to complete:
- for subtraction
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if  operation == '-':
    print('{} - {} = '.format(number_1, number_2))
    print(number_1 - number_2)

elif operation == '/':
    print('{} / {} = '.format(number_1, number_2))
    print(number_1 / number_2)

else:
    print('You have not typed a valid operator, please run the program again.')

هذا اللي انا سويته اللي ماعرفت هو التكرار وتوقف البرنامج

جيد جداً ما قمت به، و لكن بما أن هذا الكود موجود على stackoverflow كما هو، فسأقوم بشرح تفاصيله بشكل مختصر لك باعتبار أنك فهمته، و سأقوم بشرح الفكرة التي يمكن تطبيقها لكي تستطيع حل مسألتك، و سيكون عليك كتابة الكود بنفسك، و في حال حدثت أخطاء إضافية فيمكنك السؤال دائماً.

إنك في الكود السابق تحاكي العملية من أجل تكرار واحد، بحيث تقوم بإدخال العملية أولاً و ذلك عن طريق التابع input و من ثم تقوم بإدخال الأعداد أيضاً عن طريق التابع input و لكن بما أن الدخل يكون سلسلة نصية نقوم بتحويله من أجل الأرقام باستعمال int()، ثم نقوم بالقيام بالعملية المناسبة.

الآن هذا ليس ما هو مطلوب تماماً، حيث أن الأعداد يجب أن تولد بشكل عشوائي و ليس المستخدم من يجب عليه إدخالها، يمكنك الإطلاع على الدالة random.randint و محاولة استعمالها في ذلك.

بعد ذلك يمكنك القيام بالعمليات كما هي في الكود الذي أرفقته و ذلك لحساب القيمة الصحيحة، و لكن ليس عليك طباعتها مباشرة، حيث عليك الطلب من المستخدم إدخال النتيجة و مقارنتها بالنتيجة التي قمت بحسابها و طباعة فيما إذا كان حساب المستخدم صحيح أم خاطئ مع طباعة النتيجة في حال كان خاطئ، يمكنك القيام بذلك بشكل بسيط باستعمال العبارات الشرطية في بايثون و تعليمات الطباعة.

لتكرار العملية 5 مرات يمكنك استعمال الحلقة for مع range، حاول البحث عن ذلك، يجب أن تعلم كيف تقوم بذلك في حال كنت تعلم القليل حول بايثون.

تبقى أمر واحد و هو إظهار رسالة خطأ في حال أدخل المستخدم عملية خاطئة، سأترك هذا لك لتفكر به، حاول القيام بالأمور السابقة بداية ثم محاولة القيام بالتحقق من العملية.

  • 0
نشر
بتاريخ 15 دقائق مضت قال Kais Hasan:

جيد جداً ما قمت به، و لكن بما أن هذا الكود موجود على stackoverflow كما هو، فسأقوم بشرح تفاصيله بشكل مختصر لك باعتبار أنك فهمته، و سأقوم بشرح الفكرة التي يمكن تطبيقها لكي تستطيع حل مسألتك، و سيكون عليك كتابة الكود بنفسك، و في حال حدثت أخطاء إضافية فيمكنك السؤال دائماً.

إنك في الكود السابق تحاكي العملية من أجل تكرار واحد، بحيث تقوم بإدخال العملية أولاً و ذلك عن طريق التابع input و من ثم تقوم بإدخال الأعداد أيضاً عن طريق التابع input و لكن بما أن الدخل يكون سلسلة نصية نقوم بتحويله من أجل الأرقام باستعمال int()، ثم نقوم بالقيام بالعملية المناسبة.

الآن هذا ليس ما هو مطلوب تماماً، حيث أن الأعداد يجب أن تولد بشكل عشوائي و ليس المستخدم من يجب عليه إدخالها، يمكنك الإطلاع على الدالة random.randint و محاولة استعمالها في ذلك.

بعد ذلك يمكنك القيام بالعمليات كما هي في الكود الذي أرفقته و ذلك لحساب القيمة الصحيحة، و لكن ليس عليك طباعتها مباشرة، حيث عليك الطلب من المستخدم إدخال النتيجة و مقارنتها بالنتيجة التي قمت بحسابها و طباعة فيما إذا كان حساب المستخدم صحيح أم خاطئ مع طباعة النتيجة في حال كان خاطئ، يمكنك القيام بذلك بشكل بسيط باستعمال العبارات الشرطية في بايثون و تعليمات الطباعة.

لتكرار العملية 5 مرات يمكنك استعمال الحلقة for مع range، حاول البحث عن ذلك، يجب أن تعلم كيف تقوم بذلك في حال كنت تعلم القليل حول بايثون.

تبقى أمر واحد و هو إظهار رسالة خطأ في حال أدخل المستخدم عملية خاطئة، سأترك هذا لك لتفكر به، حاول القيام بالأمور السابقة بداية ثم محاولة القيام بالتحقق من العملية.

تمام بحاول مشكورر 3>

  • 0
نشر
بتاريخ 21 ساعات قال Kais Hasan:

جيد جداً ما قمت به، و لكن بما أن هذا الكود موجود على stackoverflow كما هو، فسأقوم بشرح تفاصيله بشكل مختصر لك باعتبار أنك فهمته، و سأقوم بشرح الفكرة التي يمكن تطبيقها لكي تستطيع حل مسألتك، و سيكون عليك كتابة الكود بنفسك، و في حال حدثت أخطاء إضافية فيمكنك السؤال دائماً.

إنك في الكود السابق تحاكي العملية من أجل تكرار واحد، بحيث تقوم بإدخال العملية أولاً و ذلك عن طريق التابع input و من ثم تقوم بإدخال الأعداد أيضاً عن طريق التابع input و لكن بما أن الدخل يكون سلسلة نصية نقوم بتحويله من أجل الأرقام باستعمال int()، ثم نقوم بالقيام بالعملية المناسبة.

الآن هذا ليس ما هو مطلوب تماماً، حيث أن الأعداد يجب أن تولد بشكل عشوائي و ليس المستخدم من يجب عليه إدخالها، يمكنك الإطلاع على الدالة random.randint و محاولة استعمالها في ذلك.

بعد ذلك يمكنك القيام بالعمليات كما هي في الكود الذي أرفقته و ذلك لحساب القيمة الصحيحة، و لكن ليس عليك طباعتها مباشرة، حيث عليك الطلب من المستخدم إدخال النتيجة و مقارنتها بالنتيجة التي قمت بحسابها و طباعة فيما إذا كان حساب المستخدم صحيح أم خاطئ مع طباعة النتيجة في حال كان خاطئ، يمكنك القيام بذلك بشكل بسيط باستعمال العبارات الشرطية في بايثون و تعليمات الطباعة.

لتكرار العملية 5 مرات يمكنك استعمال الحلقة for مع range، حاول البحث عن ذلك، يجب أن تعلم كيف تقوم بذلك في حال كنت تعلم القليل حول بايثون.

تبقى أمر واحد و هو إظهار رسالة خطأ في حال أدخل المستخدم عملية خاطئة، سأترك هذا لك لتفكر به، حاول القيام بالأمور السابقة بداية ثم محاولة القيام بالتحقق من العملية.

import random
num1 = random.randint(1, 12)
num2 = random.randint(1, 12)
while  True:
    print('Choose 1 for Divison')
    print("Choose 2 for Subtract")
    mode = eval(input('enter number :'))

    if (mode == 1):
        if num1 < num2:
            num1, num2 = num2, num1
            for i in range(5):
                num1 = random.randint(1, 12)
                num2 = random.randint(1, 12)
                x = eval(input(" what is " + str(num1) + " / " + str(num2) + " : "))
                if x == (num1 // num2):
                    print(" Right, the result of the question " + str(num1) + " / " + str(num2) + " = ", x)
                elif x != (num1 // num2):
                    print(" You are wrong Because " + str(num1) + "/" + str(num2) + " = ", (num1 // num2))
                    Again = input("If you want to stop write stop Or if you want to continue, type yes : ")
                    if (Again == "stop"):
                        break

    elif (mode == 2):
            for i in range(5):
                num1 = random.randint(1, 12)
                num2 = random.randint(1, 12)
                if num1 < num2:
                    num1, num2 = num2, num1
                y = eval(input(" what is " + str(num1) + " - " + str(num2) + ":"))
                if y == (num1 - num2):
                    print(" Right, the result of the question " + str(num1) + " - " + str(num2) + " = ", y)
                elif y != (num1 - num2):
                    print(" You are wrong Because " + str(num1) + " - " + str(num2) + " = ", (num1 - num2))
                    Again = input("If you want to stop write stop Or if you want to continue, type yes : ")
                    if (Again == "stop"):
                        break

    else:
        print('You have entered an invalid value!')
        break

سويت كذا مره اشتغل معي الكود بعدها صار يطلعلي خطا هل فيه مشكلة في الكود ولا صحيح

  • 0
نشر
بتاريخ 8 دقائق مضت قال Saeed Alghamdi4:

import random
num1 = random.randint(1, 12)
num2 = random.randint(1, 12)
while  True:
    print('Choose 1 for Divison')
    print("Choose 2 for Subtract")
    mode = eval(input('enter number :'))

    if (mode == 1):
        if num1 < num2:
            num1, num2 = num2, num1
            for i in range(5):
                num1 = random.randint(1, 12)
                num2 = random.randint(1, 12)
                x = eval(input(" what is " + str(num1) + " / " + str(num2) + " : "))
                if x == (num1 // num2):
                    print(" Right, the result of the question " + str(num1) + " / " + str(num2) + " = ", x)
                elif x != (num1 // num2):
                    print(" You are wrong Because " + str(num1) + "/" + str(num2) + " = ", (num1 // num2))
                    Again = input("If you want to stop write stop Or if you want to continue, type yes : ")
                    if (Again == "stop"):
                        break

    elif (mode == 2):
            for i in range(5):
                num1 = random.randint(1, 12)
                num2 = random.randint(1, 12)
                if num1 < num2:
                    num1, num2 = num2, num1
                y = eval(input(" what is " + str(num1) + " - " + str(num2) + ":"))
                if y == (num1 - num2):
                    print(" Right, the result of the question " + str(num1) + " - " + str(num2) + " = ", y)
                elif y != (num1 - num2):
                    print(" You are wrong Because " + str(num1) + " - " + str(num2) + " = ", (num1 - num2))
                    Again = input("If you want to stop write stop Or if you want to continue, type yes : ")
                    if (Again == "stop"):
                        break

    else:
        print('You have entered an invalid value!')
        break

سويت كذا مره اشتغل معي الكود بعدها صار يطلعلي خطا هل فيه مشكلة في الكود ولا صحيح

ما هي الأخطاء التي تظهر معك؟ لقد قمت بتجربته و هو يعمل بشكل صحيح.

لكن هناك العديد من النقاط بخصوص الكود الخاص بك، و هي كما يلي:

  • إن السؤال الذي تحاول حله يقول لك اطبع النتيجة فقط في حال كان جواب المستخدم خاطئ، بينما أنت تقوم بطباعة الجواب الصحيح دائماً.
  • لماذا تقوم بتهيئة المتغيرين num1, num2 في بداية الكود؟ لا داعي لذلك فأنت تقوم بذلك داخل الحلقات.
  • السؤال الذي تحاول حله لا يقول لك أن تطلب من المستخدم في حال كان يرغب بالاستمرار أم لا، يجب التكرار 5 مرات دائماً.
  • أنت تقوم بتكرار نفس العملية 5 مرات، لكن السؤال يطلب منك كتابة كود يقوم بالتنفيذ 5 مرات في كل مرة يطلب من المستخدم العملية ثم يولد الأعداد العشوائية، أي في كل مرة نطلب العملية، أنت قمت باختيار العملية في البداية ثم قمت بالتكرار 5 مرات، و هذا ليس المطلوب.

بغض النظر عن النقاط السابقة، أعتقد أن من كتب الكود السابق يستطيع تعديل النقاط التي ذكرتها بسهولة، بقليل من الجهد طبعاً.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...