تعد الحلقة واحدة من أكثر التركيبات شيوعا في البرمجة. ومع ذلك ، في بعض الأحيان يكون من الضروري الحصول على قيمة من الحلقة واستخدامها خارج هذه الحلقة. في هذه المقالة ، سننظر في عدة طرق للقيام بذلك وشرح كيفية عملها.
تتمثل إحدى طرق الحصول على قيمة من حلقة خارجها في استخدام متغير سيتم تعيين قيمة له في كل تكرار.
على سبيل المثال ، إذا أردنا إيجاد مجموع كل الأرقام من 1 إلى 10 ، فيمكننا استخدام ل حلقة مع متغير المجموع ، والتي ستزيد بقيمة أنا في كل تكرار:
دعونا مجموع = 0;
إلى عن على (دعني = 1 ؛ أنا <= 10 ؛ أنا i) {
مجموع + = أنا;
}
وحدة التحكم.سجل (مجموع) ؛ / / النواتج 55
وبالتالي ، بعد الانتهاء من الحلقة ، ستحتوي قيمة متغير المجموع على المبلغ المطلوب. يمكننا استخدام هذه القيمة بشكل أكبر في البرنامج ، على سبيل المثال ، لمزيد من الحسابات أو الإخراج إلى الشاشة.
بالإضافة إلى ذلك ، يمكنك استخدام مصفوفة أو بنية بيانات أخرى لتخزين القيم التي تم الحصول عليها في الحلقة. على سبيل المثال ، إذا احتجنا إلى إيجاد جميع الأرقام الزوجية في نطاق معين ، فيمكننا إضافة هذه الأرقام إلى المصفوفة:
دعونا حتىأرقام = [];
إلى عن على (دعني = 1 ؛ أنا <= 10 ؛ أنا i) {
إذا (أنا ٪ 2 = = = 0) {
حتى الأرقام.دفع (أنا);
}
}
وحدة التحكم.السجل (حتى الأرقام) ؛ / / النواتج [2, 4, 6, 8, 10]
وهكذا ، بعد الانتهاء من ل حلقة ، سيكون لدينا مجموعة من حتىالأرقام التي تحتوي على جميع الأرقام الزوجية في نطاق معين. يمكننا استخدامه بشكل أكبر في البرنامج لأغراض مختلفة.
- كيف يمكنني الحصول على قيمة من لحلقة خارجها?
- 1. الكتابة إلى متغير
- 2. باستخدام صفيف
- 3. باستخدام الوظيفة
- استخدام متغير لتخزين قيمة
- إرجاع قيمة من دالة
- استخدام مجموعة لحفظ النتائج
- استخدام المولدات للحصول على القيم
- مثال على استخدام مفاتيح القاموس للوصول إلى القيم
- استخدام المتغيرات العالمية
- استخدام الإغلاق لتخزين القيم
- سؤال وجواب
- كيف يمكنني الحصول على قيمة من لحلقة في بيثون?
- هل من الممكن الحصول على قيمة من حلقة خارجها في جافا سكريبت?
- كيف يمكنني الحصول على قيمة من لحلقة خارجها في جافا?
- هل من الممكن الحصول على قيمة من حلقة خارجها في ج??
- كيف يمكنني الحصول على قيمة من لحلقة خارجها في بي إتش بي?
كيف يمكنني الحصول على قيمة من لحلقة خارجها?
تعد الحلقة واحدة من أكثر التركيبات شيوعا في البرمجة لأداء الإجراءات المتكررة. ومع ذلك ، في بعض الأحيان يكون من الضروري الحصول على قيمة متغير حلقة خارج الحلقة نفسها. في هذه المقالة ، سننظر في عدة طرق لتحقيق هذا الهدف.
1. الكتابة إلى متغير
إن أبسط طريقة للحصول على قيمة عنصر من الحلقة خارجها هي ببساطة كتابة القيمة الحالية للعنصر إلى متغير منفصل.
نتيجة فار;
إلى عن على (فار أنا = 0 ؛ أنا < 10 ؛ أنا i) {
النتيجة = أنا;
}
وحدة التحكم.سجل (نتيجة) ؛ / / النواتج 9
سيحتوي على قيمة التكرار الأخير للحلقة (في هذه الحالة 9).
2. باستخدام صفيف
هناك طريقة أخرى لتخزين قيم عناصر الحلقة وهي استخدام صفيف.
نتائج فار = [];
إلى عن على (فار أنا = 0 ؛ أنا < 10 ؛ أنا i) {
النتائج.دفع (أنا);
}
وحدة التحكم.سجل (النتائج) ؛ / / النواتج [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
سوف تحتوي على جميع قيم عناصر الحلقة.
3. باستخدام الوظيفة
إذا كنت بحاجة إلى استخدام قيمة عنصر الحلقة في بعض الوظائف الأخرى ، فيمكنك تمريرها كوسيطة.
عملية الدالة (القيمة) {
وحدة التحكم.سجل (قيمة);
}
إلى عن على (فار أنا = 0 ؛ أنا < 10 ؛ أنا i) {
قيمة العملية (ط);
}
كحجة. وبالتالي ، ستستخدم الوظيفة قيمة عنصر الحلقة داخل نفسها.
هذه ليست سوى بعض الطرق للحصول على القيمة من حلقة خارجها. يعتمد اختيار الطريقة على المهمة المحددة وأسلوب الترميز الخاص بك. الشيء الرئيسي الذي يجب تذكره هو أنه يمكن حفظ قيم عناصر الحلقة واستخدامها خارج الحلقة نفسها.
استخدام متغير لتخزين قيمة
واستخدامها خارجها ، يمكننا استخدام متغير لتخزين هذه القيمة.
:
إلى عن على (دعني = 0 ؛ أنا < 5 ؛ أنا {) {
وحدة التحكم.سجل (ط);
}
قبل الحلقة وتعيين قيمة من الحلقة:
دع القيمة;
إلى عن على (دعني = 0 ؛ أنا < 5 ؛ أنا {) {
القيمة = أنا;
وحدة التحكم.سجل (قيمة);
}
. على سبيل المثال ، يمكننا إخراج هذه القيمة إلى الصفحة:
دع القيمة;
إلى عن على (دعني = 0 ؛ أنا < 5 ؛ أنا {) {
القيمة = أنا;
وحدة التحكم.سجل (قيمة);
}
وثيقة.جيتليمنتبيد ("الإخراج").النص الداخلي = القيمة;
.
واستخدم هذه القيمة في أجزاء أخرى من البرنامج.
إرجاع قيمة من دالة
تم تصميم الوظائف في البرمجة لتنفيذ إجراءات معينة وإرجاع النتيجة. يتيح لك إرجاع قيمة من دالة استخدام هذه القيمة في أجزاء أخرى من البرنامج.
لإرجاع قيمة من دالة ، يتم استخدام الكلمة الرئيسية الإرجاع. عندما يصل تنفيذ البرنامج إلى هذا البيان ، تنتهي الوظيفة ويتم إرجاع القيمة المحددة.
مثال على استخدام الإرجاع:
مواطنه مضاعفة (أ ، ب):
المنتج = أ * ب
إرجاع المنتج
النتيجة = اضرب (5 ، 3) # استدعاء دالة بالوسيطتين 5 و 3
طباعة (نتيجة) # المخرجات 15
في هذا المثال ، تأخذ دالة الضرب وسيطتين وتعيد منتجهما. استدعاء دالة مع الوسيطتين 5 و 3 يعين نتيجة ضرب الأرقام لمتغير النتيجة ، ثم يتم عرض قيمة المتغير على الشاشة.
يمكنك أيضا استخدام عبارة الإرجاع دون تحديد قيمة. في هذه الحالة ، تنتهي الوظيفة دون إرجاع النتيجة:
مواطنه تحية (اسم):
إذا كان الاسم = = 'أليس':
عودة # الانتهاء من وظيفة دون العودة
طباعة ('مرحبا ،' + اسم)
تحية ("بوب") # مخرجات "مرحبا بوب"
تحية ('أليس') # تنتهي الدالة دون إخراج القيمة
في المثال أعلاه ، إذا كانت وسيطة الاسم تساوي 'أليس' ، تنتهي الدالة في بيان الإرجاع ولا تخرج أي شيء إلى الشاشة. في حالات أخرى ، تقوم الوظيفة بإخراج تحية بالاسم المحدد.
استخدام مجموعة لحفظ النتائج
واستخدامها خارج الحلقة. طريقة واحدة للقيام بذلك هي استخدام مجموعة مثل قائمة أو قاموس.
، والذي يمر عبر قائمة الأرقام ويقوم ببعض العمليات مع كل رقم:
أرقام = [1, 2, 3, 4, 5]
النتائج = []
للاسطوانات بالأرقام:
النتيجة = الأسطوانات * 2
النتائج.إلحاق (نتيجة)
طباعة (النتائج)
تحتوي على نتائج عملية الضرب.
إذا قمنا بتنفيذ هذا الرمز ، فسنحصل على النتيجة التالية:
- 2
- 4
- 6
- 8
- 10
وبالتالي ، نجحنا في حفظ نتائج تنفيذ الحلقة واستخدامها خارجها. يمكن تطبيق هذا النهج في مواقف مختلفة حيث يكون من الضروري حفظ القيم من الحلقة لمزيد من المعالجة أو تحليل البيانات.
استخدام المولدات للحصول على القيم
خارجها.
. يسمح هذا للوظيفة بإرجاع قيمة دون إيقاف عملها ، ولكن عن طريق تجميدها حتى الطلب التالي.
هنا مثال بسيط على استخدام مولد:
ديف مولد():
العائد 1
العائد 2
العائد 3
أرقام = مولد()
طباعة (التالي (أرقام)) # الإخراج: 1
طباعة (التالي (أرقام)) # الإخراج: 2
طباعة (التالي (أرقام)) # الخلاصة: 3
، يقوم المولد بإرجاع القيمة التالية ، بدءا من القيمة الأولى.
الميزة الرئيسية للمولدات هي أنها تعمل مع العناصر واحدة تلو الأخرى ، بدلا من تحميل جميع القيم في الذاكرة. هذا مفيد بشكل خاص عند العمل بكميات كبيرة من البيانات أو التسلسلات اللانهائية.
، مما يسمح لك بالحصول على قيم من الحلقة بداخلها وخارجها دون الحاجة إلى تخزين جميع القيم في الذاكرة. على سبيل المثال:
ديف مولد():
لأني في النطاق (1 ، 4):
العائد الأول
لعدد في مولد ():
طباعة (رقم) # الإخراج: 1 ، 2 ، 3
.
خارجها ، توفير الذاكرة وموارد الكمبيوتر. إنها أداة مهمة للعمل مع الكائنات القابلة للتكرار في بايثون.
مثال على استخدام مفاتيح القاموس للوصول إلى القيم
يستخدم بيثون مفاتيح للوصول إلى القيم في القاموس. المفتاح هو اسم فريد يمكن استخدامه للحصول على القيمة من القاموس. لنلق نظرة على مثال لاستخدام مفاتيح القاموس للوصول إلى القيم:
دعونا إنشاء القاموس الذي مفاتيح ستكون أسماء الطلاب ، وسوف تكون القيم درجاتهم:
نتائج الطلاب = {
"إيفانوف": 85,
"بتروف": 90,
"سيدوروف": 75,
"سميرنوف": 95,
"كوزلوف": 80
}
الآن يمكننا الحصول على درجة الطالب باستخدام اسمه كمفتاح:
النتيجة = نتائج الطلاب ["إيفانوف"]
طباعة (و " درجة الطالب إيفانوف: {النتيجة}")
خاتمة:
درجة الطالب إيفانوف: 85وبالتالي ، نستخدم المفتاح "إيفانوف"للوصول إلى قيمة درجته في قاموس الطلاب.
إذا لم يكن المفتاح في القاموس ، سيتم طرح استثناء كيرور. لتجنب هذا الموقف ، يمكنك استخدام طريقة الحصول على (). يقوم بإرجاع القيمة حسب المفتاح إذا كان المفتاح موجودا ، وإلا فإنه يقوم بإرجاع القيمة الافتراضية:
النتيجة = نتائج الطلاب.الحصول على ("سيدوروف" ، 0) # العودة 0 إذا لم يكن هناك مفتاح
طباعة (و " درجة طالب سيدوروف: {درجة}")
خاتمة:
درجة الطالب سيدوروف: 75في هذا المثال ، أعادت طريقة الحصول على () القيمة 75 ، نظرا لوجود المفتاح "سيدوروف"في قاموس الطلاب.
استخدام مفاتيح القاموس للوصول إلى القيم يجعل من السهل الحصول على المعلومات التي تحتاجها من القاموس باستخدام أسماء فريدة كمفاتيح. هذا مريح للغاية عند العمل مع كمية كبيرة من البيانات ويسمح لك باستخدام القواميس بشكل فعال في بايثون.
استخدام المتغيرات العالمية
للوصول إلى قيمة من حلقة خارجها ، يمكنك استخدام متغير عمومي. يتم تعريف المتغير العمومي خارج كتلة الحلقة ، مما يسمح بالوصول إليه في أي مكان في البرنامج.
مثال على استخدام المتغيرات العالمية:
مجموع فار = 0;
إلى عن على (فار أنا = 0; أنا < 5; أنا i) {
مجموع + = أنا;
}
وحدة التحكم.سجل (مجموع);
في هذا المثال ، يتم استخدام مجموع المتغير العمومي لتلخيص القيم في الحلقة. بعد نهاية الحلقة ، تتوفر قيمة المجموع خارج الحلقة ويمكن استخدامها بشكل أكبر في البرنامج.
ومع ذلك ، يجب أن تكون حذرا عند استخدام المتغيرات العامة ، لأنها يمكن أن تؤدي إلى سلوك برنامج غير متوقع. تجنب استخدام المتغيرات العالمية في المشاريع الكبيرة حيث يصعب التحكم في حالتها وتفاعلها مع أجزاء أخرى من الكود.
بدلا من استخدام المتغيرات العالمية ، يوصى باستخدام المتغيرات المحلية المعلنة داخل الوظائف أو كتل التعليمات البرمجية. المتغيرات المحلية محدودة النطاق ولا يمكن استخدامها إلا في سياقها.
استخدام الإغلاق لتخزين القيم
واستخدامه داخل أو خارج الحلقة ، يمكنك استخدام الإغلاق. الإغلاق هو وظيفة تتذكر البيئة التي تم إنشاؤها فيها ولديها إمكانية الوصول إلى متغيرات تلك البيئة حتى بعد أن تكون قد غادرت النطاق بالفعل.
دعونا ننظر إلى مثال بسيط:
إلى عن على (فار أنا = 0; أنا < 5; أنا i) {
(وظيفة (س) {
سيتيموت (وظيفة () {
وحدة التحكم.سجل (خ);
}, 1000);
}) (ط);
}
بعد 1 ثانية.
ستكون نتيجة تنفيذ التعليمات البرمجية:
0
1
2
3
4
.
يمكن أن تكون عمليات الإغلاق مفيدة جدا عند العمل مع جافا سكريبت غير متزامن ، لأنها تسمح لك بحفظ حالة المتغيرات في سيناريوهات معقدة.
سؤال وجواب
كيف يمكنني الحصول على قيمة من لحلقة في بيثون?
للحصول على قيمة من لحلقة في بيثون ، يمكنك استخدام "العائد" بناء. هذا هو عامل خاص يسمح لك بإرجاع قيمة من حلقة. على سبيل المثال:
هل من الممكن الحصول على قيمة من حلقة خارجها في جافا سكريبت?
نعم ، في جافا سكريبت ، يمكنك الحصول على قيمة من حلقة خارجها. للقيام بذلك ، يمكنك استخدام متغير حيث سيتم كتابة القيمة الحالية في كل تكرار للحلقة. على سبيل المثال:
كيف يمكنني الحصول على قيمة من لحلقة خارجها في جافا?
في جافا ، يمكنك الحصول على قيمة من حلقة خارجها باستخدام متغير. على سبيل المثال:
هل من الممكن الحصول على قيمة من حلقة خارجها في ج??
في ج++ ، يمكنك الحصول على قيمة من حلقة خارجها باستخدام متغير. على سبيل المثال:
كيف يمكنني الحصول على قيمة من لحلقة خارجها في بي إتش بي?
في فب ، يمكنك الحصول على قيمة من حلقة خارجها باستخدام متغير. على سبيل المثال: