البرمجة

إنشاء متغيرات ديناميكية في Python

كيفية إنشاء متغيرات في حلقة في Python

لإنشاء متغيرات داخل حلقة في Python، يمكنك استخدام الدالة exec() لتقييم النص البرمجي في كل دورة من دورات الحلقة. ومن الضروري تنسيق النص البرمجي المقيّم بشكل صحيح لضمان عمله بشكل صحيح.

في المثال الذي قدمته، يمكنك تعديل الكود ليعمل بالشكل الصحيح على النحو التالي:

python
choices = input('Enter choices: ') i = 0 while i < 10: exec(f'number_of_{i}s = choices.count(str({i}))') i += 1 print('Number of 0s:', number_of_0s) print('Number of 1s:', number_of_1s) # وهكذا حتى العدد 9

هنا، نقوم باستخدام exec() لتقييم النص البرمجي "number_of_{i}s = choices.count(str({i}))" في كل دورة من دورات الحلقة، حيث يتم استبدال {i} بقيم العداد i الحالية. وبذلك، يتم إنشاء متغيرات number_of_0s، number_of_1s، وهكذا، تحتوي على عدد الظهورات لكل رقم في الـ choices.

ملاحظة: يجب توخي الحذر عند استخدام exec()، لأنه يمكن أن يؤدي إلى تنفيذ أي كود Python وبالتالي يمكن استغلاله بشكل خاطئ.

المزيد من المعلومات

بالطبع! في الكود الذي قمت بتقديمه، نستخدم exec() لإنشاء متغيرات بشكل ديناميكي، وهذا يعني أننا نقوم بإنشاء اسم المتغير بناءً على قيمة متغير i في كل دورة من دورات الحلقة. على سبيل المثال، إذا كانت قيمة i تساوي 0، فإننا سنقوم بإنشاء متغير باسم number_of_0s وهكذا.

ومن ثم، نستخدم دالة count() لحساب عدد مرات ظهور الرقم المحدد في المدخلات choices. يتم تحويل الرقم i إلى نص باستخدام str(i) لأن count() تتوقع استقبال قيمة نصية.

بمجرد انتهاء الحلقة، يمكننا طباعة قيم المتغيرات التي تم إنشاؤها لعرض عدد مرات ظهور كل رقم في choices.

ملاحظة: يُفضل تجنب استخدام exec() في البرمجة العادية إذا كان بإمكانك تجنبه، لأنه قد يجعل الكود أقل وضوحًا وصعب الصيانة.

زر الذهاب إلى الأعلى