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

السؤال

Recommended Posts

  • 0
نشر

هذا الخطأ بسبب أن الدالة input تقوم بقراءة القيمة من المُستخدم على هيئة نص ( string) وما تحاول فعله من عمليات حسابية مثل الضرب والجمع والطرح يجب أن يتم على أرقام وليس نصوص, لذا يجب تحويل المدخلات من المُستخدم إلى أرقام ويمكن أن يتم ذلك عبر الدالة int() والتي تعمل بالشكل التالي

number = int(string)

والتي يمكن تطبيقها في حالتك لتصبح بالشكل التالي 

weight = int(input("what your weight ?"))

لتصبح الشفرة البرمجية بالشكل النهائي التالي 

weight = int(input("your weight ? "))
tall = int(input("your tall ? "))
age = int(input("your age ? "))
BMR= 10*weight+6 *tall-5*age+5
print(BMR)

 

  • 1
نشر

يمكنك أيضًا أن تتحقق من المدخلات من خلال جملة Try .. Except، لأن المستخدم قد يدخل أحرف وليس أرقام، كالتالي:

def user_input(message):
    while True:
        try:
            return int(input(message))
        except ValueError:
            print('please enter an integer')

age = user_input('your age: ')
weight = user_input('your weight: ')
tall = user_input('your tall: ')

BMR = (10 * weight) + (6 * tall) - (5 * age) + 5
print(BMR)

بهذه الطريقة إن قام المستخدم بإدخال قيمة غير عددية سوف يتم الطلب منه أن يقوم بإدخال رقم صحيح.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...