في برمجة بايثون ، تعد الوظائف طريقة ملائمة لتنظيم الكود وهيكله. يمكنهم قبول المعلمات وإرجاع القيم ، مما يجعلها أدوات مرنة للغاية. في بعض الأحيان ، عند كتابة وظيفة ، قد يكون من الضروري أن تطلب من المستخدم إدخال البيانات داخل الوظيفة نفسها. في هذه المقالة ، سننظر في كيفية إجراء عملية إدخال داخل وظيفة في بايثون.
لإجراء عملية إدخال داخل دالة ، يمكننا استخدام وظيفة الإدخال (). يسمح للمستخدم بإدخال البيانات من لوحة المفاتيح وإرجاع هذه البيانات كسلسلة. فيما يلي مثال بسيط على استخدام دالة إدخال داخل دالة:
طباعة (و " مرحبا ، {اسم}!")
- تحية()
- في هذا المثال ، نحدد وظيفة الترحيب () ، والتي تطلب من المستخدم إدخال اسمه ثم إخراج رسالة ترحيب بهذا الاسم. عند الاتصال بوظيفة الترحيب () ، سيرى المستخدم دعوة لإدخال اسم وإدخاله وتلقي الرد المناسب.
- وبالتالي ، فإن استخدام وظيفة الإدخال داخل وظيفة بايثون يفتح إمكانيات واسعة لإنشاء برامج تفاعلية ويسمح بالتفاعل المريح مع المستخدم.
- التحضير لتنفيذ الإدخال داخل وظيفة بايثون
- إنشاء وظيفة باستخدام المعلمات
- إدخال البيانات داخل دالة باستخدام الإدخال
- معالجة البيانات المدخلة
- استخدام البيانات المستلمة في الكود الإضافي
- المشاكل المحتملة وحلها
- 1. إدخال المستخدم غير صحيح
- 2. إنهاء غير متوقع للبرنامج
- 3. مشاكل مع إدخال البيانات في الحلقة
- 4. خطأ "تيبيرور:" ستر "الكائن غير قابل للاستدعاء"
- قواعد السلامة عند استخدام المدخلات داخل وظائف
- أمثلة التعليمات البرمجية باستخدام الإدخال داخل دالة
- سؤال وجواب
كيف يمكنني إدخال البيانات داخل وظيفة في بيثون?
- هل من الممكن إدخال البيانات من لوحة المفاتيح داخل وظيفة وحفظه إلى متغير?
- هل من الممكن للحد من النوع المسموح به من البيانات المدخلة من قبل المستخدم?
- التحضير لتنفيذ الإدخال داخل وظيفة بايثون
- الخطوة الأولى لتنفيذ الإدخال داخل وظيفة بايثون هي الحصول على مدخلات من المستخدم. يتم استخدام وظيفة الإدخال () لهذا الغرض. يمكن أن تكون بيانات الإدخال من أي نوع ، ولكن يتم تفسيرها افتراضيا على أنها سلاسل.
- قم بإنشاء وظيفة يتم فيها تنفيذ الإدخال. يمكنك إنشاء وظيفة باستخدام الكلمة مواطنه ، تليها اسم وظيفة وأقواس.
- قبل تنفيذ الإدخال ، تأكد من أن بيانات الإدخال بالتنسيق الصحيح. إذا كنت تتوقع رقما ، فتأكد من أن الإدخال هو رقم. إذا كانت بيانات الإدخال عبارة عن سلسلة ، فتأكد من أنها لا تحتوي على أي أحرف خاصة قد تتسبب في حدوث خطأ.
ماذا يحدث إذا كان المستخدم لا يدخل البيانات عند تنفيذ وظيفة?
كيف يمكنني استخدام إدخال البيانات داخل وظيفة لإنشاء برنامج تفاعلي?
1. الحصول على مدخلات من المستخدم.
2. إنشاء وظيفة.
3. اضبط تنسيق بيانات الإدخال.
4. معالجة بيانات الإدخال.
بعد تلقي بيانات الإدخال ، يمكنك معالجتها داخل الوظيفة. على سبيل المثال ، يمكنك التحقق من حالة أو إجراء بعض العمليات الحسابية بناء على بيانات الإدخال.
5. إرجاع نتيجة الوظيفة.
إذا كان يجب أن تقوم وظيفتك بإرجاع نتيجة ، فاستخدم الكلمة الرئيسية الإرجاع لإرجاع القيمة. سيسمح لك ذلك باستخدام نتيجة تنفيذ الوظيفة في جزء آخر من البرنامج.
6. استدعاء وظيفة.
لأداء وظيفة ، اتصل بها في جزء آخر من البرنامج. يمكنك تمرير الحجج لها إذا كانت مطلوبة. إذا كانت الدالة الخاصة بك ترجع قيمة ، احفظها إلى متغير واستخدامها على النحو الذي تراه مناسبا.
إنشاء وظيفة باستخدام المعلمات
في لغة برمجة بايثون ، يمكنك إنشاء وظائف تقبل المعلمات. المعلمات هي القيم التي يتم تمريرها إلى وظيفة عندما يتم استدعاؤها واستخدامها داخل الوظيفة. أنها تسمح لك بإنشاء وظائف أكثر مرونة وقابلة لإعادة الاستخدام.
لإنشاء دالة مع المعلمات ، حدد أسمائها في تعريف الوظيفة بين قوسين بعد اسم الوظيفة. على سبيل المثال:
مواطنه تحية (اسم):
طباعة (و " مرحبا ، {اسم}!")
تقبل وظيفة الترحيب () معلمة اسم واحدة. عند استدعاء دالة ، يجب عليك تمرير قيمة لهذه المعلمة.
يمكن أن تحتوي المعلمات أيضا على قيم افتراضية ، والتي يتم استخدامها إذا لم يتم تمرير القيمة عند استدعاء الوظيفة. على سبيل المثال:
مواطنه تحية (اسم= "ضيف"):
طباعة (و " مرحبا ، {اسم}!")
تحتوي معلمة الاسم الآن على قيمة افتراضية هي "الضيف". إذا لم يتم تمرير القيمة عند استدعاء الدالة ، فسيتم استخدام القيمة الافتراضية.
عند استدعاء دالة ذات معلمات ، يتم تمرير القيم بنفس الترتيب الذي تم تعريفه في تعريف الوظيفة. يمكنك أيضا تمرير القيم بشكل صريح عن طريق تحديد اسم المعلمة التي تتوافق معها. على سبيل المثال:
مواطنه تحية (الاسم الأول ، الاسم الأخير):
طباعة (و " مرحبا ، {الاسم الأول} {الاسم الأخير}!")
تحية ("إيفان" ، "إيفانوف")
في هذا المثال ، نسمي وظيفة الترحيب () بمعلمتين اسم_الأول واسم_الأخير. يتم تمرير قيم هذه المعلمات بالترتيب الذي تم تعريفه به.
مثال على إنشاء وظيفة مع المعلمات:
صفر حساب المجموع (رقم 1 ، رقم 2):
# مجموع رقمين
النتيجة = رقم 1 + رقم 2
# إرجاع النتيجة
نتيجة الإرجاع
# استدعاء وظيفة وتمرير المعلمات
مجموع الناتج = حساب المجموع (5 ، 3)
طباعة (مجموع النتائج)
في هذا المثال ، تأخذ الدالة الحسابية() معلمتين رقم 1 ورقم 2. يتم تلخيص هذه الأرقام داخل الوظيفة ويتم إرجاع النتيجة باستخدام الكلمة الرئيسية المرتجعة. عند استدعاء الوظيفة ، نقوم بتمرير القيمتين 5 و 3 ، ونحصل على النتيجة 8 ، والتي يتم عرضها بعد ذلك على الشاشة.
وبالتالي ، يتيح لنا استخدام المعلمات إنشاء وظائف أكثر مرونة يمكنها العمل بقيم مختلفة وتنفيذ إجراءات مختلفة اعتمادا على المعلمات التي تم تمريرها.
إدخال البيانات داخل دالة باستخدام الإدخال
في لغة برمجة بايثون ، يتم استخدام وظيفة الإدخال () لإدخال البيانات من لوحة المفاتيح. يسمح للمستخدم بإدخال قيمة يمكن استخدامها بعد ذلك في البرنامج.
داخل الوظيفة ، يمكنك أيضا إدخال البيانات باستخدام الإدخال (). للقيام بذلك ، يكفي استدعاء وظيفة الإدخال() داخل الوظيفة وتعيين القيمة المدخلة إلى متغير. على سبيل المثال:
مثال():
الاسم = الإدخال ("أدخل اسمك:")
طباعة ("مرحبا ،" + اسم+"!")
في هذا المثال ، بعد استدعاء وظيفة الإدخال () ، سيطلب من المستخدم إدخال اسم. سيتم تعيين القيمة المدخلة لمتغير الاسم ، ومن ثم سيتم إخراج تحية باستخدام هذا المتغير.
خصوصية العمل مع وظيفة الإدخال () داخل الوظيفة هي أن البرنامج سينتظر إدخال البيانات حتى يقوم المستخدم بإدخال قيمة ويضغط على إدخال. لذلك ، من المهم أخذ ذلك في الاعتبار عند تطوير برنامج من أجل تزويد المستخدم بالوقت الكافي لإدخال البيانات.
معالجة البيانات المدخلة
عندما يقوم المستخدم بإدخال البيانات باستخدام وظيفة الإدخال () ، يمكن استخدام هذه البيانات داخل الوظيفة لمزيد من المعالجة. فيما يلي بعض الطرق لمعالجة البيانات المدخلة:
تحويل نوع البيانات
غالبا ما تكون البيانات المدخلة عبارة عن سلاسل. لاستخدامها في العمليات الحسابية ، يجب تحويلها إلى أنواع بيانات أخرى ، إذا لزم الأمر. على سبيل المثال ، إذا كان المستخدم يدخل الأرقام ، فإنها يمكن تحويلها إلى أعداد صحيحة أو أرقام الفاصلة العائمة باستخدام كثافة العمليات() وتطفو() وظائف.
المشغلين الشرطيين
يمكن استخدام البيانات المدخلة في العبارات الشرطية للتحقق منها لشروط معينة. على سبيل المثال ، يمكنك التحقق مما إذا كان الرقم الذي تم إدخاله موجبا أم سالبا.
دورات
يمكن أيضا تخزين البيانات المدخلة في متغيرات أو هياكل بيانات لاستخدامها لاحقا. على سبيل المثال ، يمكنك حفظ الأرقام المدخلة في قائمة أو قاموس.
- لأني في النطاق (3):
الأسماء.إلحاق (الاسم)
- طباعة ("الأسماء المدخلة:" ، الأسماء)
- استخدام البيانات في دورات:
يمكننا استخدام البيانات التي أدخلها المستخدم في دورات لتنفيذ إجراءات معينة:
عدد = كثافة العمليات (إدخال ("كم مرة يجب أن إخراج تحية? "))
لأني في النطاق (العد):
طباعة ("مرحبا!")
فيما يلي بعض الطرق لاستخدام البيانات المستلمة في مزيد من التعليمات البرمجية. آمل أن تكون هذه المعلومات مفيدة عند استخدام
وظيفة الإدخال ()
في بيثون.
المشاكل المحتملة وحلها
عند العمل مع وظيفة تستخدم الإدخال ، قد تحدث المشكلات التالية:
إدخال المستخدم غير صحيح
خطأ "تيبيرور:" ستر "الكائن غير قابل للاستدعاء"
يمكن للمستخدمين غالبا إدخال البيانات بشكل غير صحيح ، مما قد يؤدي إلى حدوث أخطاء في البرنامج. على سبيل المثال ، إذا كان البرنامج ينتظر إدخال رقم ، ويقوم المستخدم بإدخال نص. قد يؤدي تلقي مثل هذه البيانات غير الصحيحة إلى فشل البرنامج.
- لحل هذه المشكلة ، من الضروري التحقق من بيانات الإدخال للتأكد من امتثالها لنوع البيانات المتوقع. إذا قام المستخدم بإدخال بيانات غير صحيحة ، فمن الضروري طلب إعادة الدخول أو تزويد المستخدم برسالة خطأ تشرح البيانات التي يجب إدخالها.
- 2. إنهاء غير متوقع للبرنامج
- في حالة حدوث استثناء عند تنفيذ وظيفة ، قد ينتهي البرنامج بشكل غير صحيح. على سبيل المثال ، إذا قام المستخدم بإدخال بيانات غير صحيحة ولم ينص البرنامج على معالجة مثل هذه الحالات ، فقد يحدث خطأ. نتيجة لذلك ، سيخرج البرنامج ببساطة من الوظيفة أو حتى يتوقف عن التنفيذ.
- لتجنب إنهاء البرنامج غير متوقع ، فمن المستحسن استخدام محاولة - باستثناء بناء لاعتراض والتعامل مع الاستثناءات المحتملة. في الكتلة باستثناء ، يمكنك توفير منطق لمعالجة الأخطاء ، على سبيل المثال ، عرض رسائل الخطأ أو طلب إعادة إدخال البيانات.
- 3. مشاكل مع إدخال البيانات في الحلقة
4. خطأ "تيبيرور:" ستر "الكائن غير قابل للاستدعاء"
ربما قد تواجه الخطأ "تيبيرور: كائن" ستر "غير قابل للاستدعاء" عند استخدام الإدخال. قد يحدث إذا كنت تحاول استدعاء سلسلة بدلا من وظيفة.
لتجنب هذا الخطأ ، تأكد من أنه عند تحديد متغير للإدخال ، يمكنك استخدام اسم لا يتداخل مع وظيفة الإدخال المضمنة. قم بتغيير اسم المتغير لتجنب التعارض والوصول إلى وظيفة الإدخال الصحيحة.
قواعد السلامة عند استخدام المدخلات داخل وظائف
باستخدام
وظيفة الإدخال
الحصول على إدخال المستخدم في برنامج بيثون يمكن أن تصبح ثغرة أمنية. نظرا لأنه يمكن للمستخدم إدخال أي بيانات ، فمن الضروري اتخاذ تدابير لضمان الأمان وحماية البرنامج من المتسللين.
فيما يلي بعض القواعد التي يجب اتباعها عند استخدام
وظيفة الإدخال
وظائف داخلية:
التحقق من صحة إدخال المستخدم: تحقق من القيم التي أدخلها المستخدم للتأكد من توافقها مع التنسيق المتوقع أو نوع البيانات. إذا كان الإدخال لا يفي بالمعايير المحددة ، فقم بطباعة رسالة خطأ واطلب إعادة الإدخال.
تعقيم البيانات المدخلة: حذف أو الهروب من الأحرف التي يحتمل أن تكون خطرة في البيانات المدخلة والتي يمكن استخدامها لمهاجمة برنامجك ، مثل الأحرف الخاصة وأحرف السطر الجديد وما إلى ذلك. d
. حد طول الإدخال: حدد الحد الأقصى لطول إدخال المستخدم لمنع تجاوز سعة المخزن المؤقت والهجمات الأخرى المتعلقة بطول الإدخال.
تخزين آمن للبيانات المدخلة: إذا قمت بحفظ بيانات المستخدم المدخلة في قاعدة بيانات أو ملف ، فتأكد من تخزينها في نموذج آمن ، على سبيل المثال ، باستخدام التجزئة والملح للحماية من الوصول غير المصرح به.
حماية الحقن: إذا كنت تستخدم القيم التي أدخلها المستخدم لإنشاء استعلامات سكل أو تنفيذ أوامر شل ، فتأكد من هروبها أو استخدام استعلامات معلمات لمنع هجمات مثل حقن سكل أو أوامر الحقن.
باتباع هذه القواعد ، يمكنك زيادة أمان البرنامج الذي يستخدم إدخال المستخدم باستخدام
وظيفة الإدخال
. لا تنس أن الأمان عملية ويجب تحسينها وتحديثها حسب الحاجة.
أمثلة التعليمات البرمجية باستخدام الإدخال داخل دالة
لنلق نظرة على بعض أمثلة كود بايثون حيث يتم استخدام وظيفة الإدخال() لتلقي إدخال المستخدم أثناء تنفيذ البرنامج.
مثال 1:
اسأل المستخدم عن رقمين وإخراج مجموعهم:
"'بايثون
صفر مجموع الأرقام():
رقم 1 = كثافة العمليات (الإدخال ("أدخل الرقم الأول:"))
عدد 2 = كثافة العمليات (الإدخال ("أدخل الرقم الثاني:"))
النتيجة = رقم 1 + رقم 2
طباعة ("مجموع الأرقام:" ، النتيجة)
"`
استدعاء الدالة:
"'بايثون
مجموع الأرقام()
"`
المثال 2:
اطلب من المستخدم إدخال اسمه والترحيب به:
"'بايثون
مواطنه تحية _المستخدم():
الاسم = الإدخال ("أدخل اسمك:")
طباعة ("مرحبا" ، اسم +"!")
"`
دعونا ندعو وظيفة:
"'بايثون
تحية المستخدم()
«`
المثال 3:
دعنا نطلب من المستخدم الاختيار من بين عدة خيارات وتنفيذ الإجراء المناسب:
"'بايثون
مواطنه القائمة():
طباعة ("1. عرض"مرحبا"")
طباعة ("2. عرض 'وداعا'")
طباعة ("3. عرض "وداعا"")
اختيار = كثافة العمليات (الإدخال ("حدد الخيار (1-3):"))
إذا كان الاختيار = = 1:
طباعة ("مرحبا")
اختيار أليف = = 2:
طباعة ("وداعا")
اختيار أليف = = 3:
طباعة ("وداعا")
آخر:
طباعة ("اختيار خاطئ")
"`