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

ما الفرق بين input و raw_input في بايثون

Adam Ebrahim

السؤال

أريد أن أعرف ما الفرق بين input و raw_input، كنت أتابع درس وقام المدرب بإستخدام input ثم قام بتغيرها إلى raw_input، حاولت أن أقوم بالتجربة لكن يظهر لي الخطأ التالي:

NameError: name 'raw_input' is not defined

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

Recommended Posts

  • 1

الفرق بين input و raw_input هو أن raw_input غير موجودة في الإصدار 3.x بينما input موجودة. في الإصدارات 2.x كانت raw_input موجودة و تم إعادة تسميتها إلى input في الإصدارات 3.x، بينما تم حذف الدالة input القديمة.

ما يعني أن raw_input القديمة و input الجديدة هما نفس الشيء بينما input القديمة كانت تقرأ الإدخال و تحاول تفسيره او معالجته كأنه تعليمة برمجية. يُمكن محاكاة عمل الدالة input القديمة بإستخدام input بالإضافة إلى الدالة eval:

# Python 3

def old_input(str):
    return eval(input(str))
    
ex1 = input("type 1: "); # 5 + 6 
ex2 = old_input('type 2: ') # 5 + 6
print(ex1) # 5 + 6
print(ex2) # 11
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

raw_input يقرأ الإدخال أو الأمر ويعيد دائما سلسة أي من نوع string, بينما input يقرأ الإدخال ويعيد نوع python مثل list ، tuple ، int ، وغيرها, أما بالنسبة للخطأ فربما يظهر بسبب اختلاف اصدار بايثون لديك, في بايثون x.3 استخدم input بينما ل 2.x استخدم raw_input

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...