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

كيف يمكنني جعل البرنامج يعيد سؤال المستخدم عندما يدخل أحرف في هذا البرنامج في بايثون

Hamza Nasr

السؤال

 

import random



num = random.randint(1,10)

guess = ""

count = 0

limit = 3

out = False



try:

    while guess != num and not out:

        if count < limit:

            guess = int(input("please enter your guess: "))

            count += 1

            if guess > num:

                print("the number is smaller")

            elif guess < num:

                print("the number is bigger")    

        else:

            out = True



except ValueError:

    print("please enter number only")

               



if out:

    print("you lose")

else:

    print("you win")    

Screenshot 2022-09-21 165824.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

البرنامج يرمي استثناء عند إدخال نص، بسبب فشل تحويل المدخلات النصية إلى رقم في الدالة int

يمكن نقل try إلى داخل الحلقة، وفي حال حصول استثناء نتابع تنفيذ الحلقة while ب continue

userInput = 0
while True:
  try:
     userInput = int(input("Enter something: "))       
  except ValueError:
     print("Not an integer!")
     continue

يمكن أيضا استخدام الدوال isdigit و isnumeric لاختبار هل المدخل هو رقم أم لا

if userinput.isdigit():
    #do stuff

ولا ختبار أن المدخل حرف نستخدم الدالة isalpha على المتغير بنفس الطريقة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...