• 1
    إدخال وإخراج البيانات
    • المهام
  • 2
    الشروط
    • المهام
  • 3
    حلقة for
    • المهام
  • 4
    السلاسل النصية
    • المهام
  • 5
    حلقة while
    • المهام
  • 6
    القوائم
    • المهام
  • 7
    مصفوفات ثنائية الأبعاد
    • المهام
  • 8
    القواميس
    • المهام
  • 9
    المجموعات
    • المهام
  • 10
    الدوال والتكرار
    • المهام
  • к

درس 3. FOR cycle

الصعوبة:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

مسألة«ترتيب الكلمات»

💻 Python

أنت & mdash; مبرمج في مركز التحكم في الطيران. من مركبتنا الجديدة كوريوسيتي-2 المريخية، وصلت رسالة مهمة حول حالة أنظمتها. لسوء الحظ، بسبب عاصفة شمسية، تم كسر ترتيب الكلمات في الرسالة. توقع المهندسون هذا الموقف، وأدرجوا في كل كلمة رقمًا من 1 إلى 9، يشير إلى الموضع الصحيح للكلمة في الجملة. مهمتك & mdash; كتابة برنامج يعيد الترتيب الأولي للكلمات ويفك تشفير الرسالة.


المهمة الفنية:
يتم إدخال سطر واحد إلى البرنامج يتكون من كلمات مفصولة بمسافات. تحتوي كل كلمة بشكل مضمون على رقم واحد من 1 إلى 9. يجب ترتيب الكلمات في السطر وفقًا لهذه الأرقام وإخراج النتيجة.


القيود:



  • إذا كان سطر الإدخال فارغًا، يجب أن يعيد البرنامج سطرًا فارغًا.

  • تتكون الكلمات فقط من حروف الأبجدية الإنجليزية ورقم واحد.

  • الأرقام في سطر الإدخال متسقة وصحيحة دائمًا (على سبيل المثال، إذا كان هناك 4 كلمات، فستحتوي على الأرقام 1، 2، 3، 4).

  • يمكنك استخدام التركيبات الأساسية فقط: الإدخال والإخراج، العوامل الشرطية ( if/else ) والحلقات & nbsp; for . لا يمكنك استيراد وحدات أو إنشاء دوال.

تنسيق الإدخال

الرسالة المشفرة من المركبة المريخية (سلسلة نصية، Str).

تنسيق الإخراج

الرسالة المفكوكة وذات المعنى (سلسلة نصية، str).

مثال

إدخال

أكتب برنامجًا يقرأ عددًا صحيحًا موجبًا N، ثم يقرأ N سطرًا من النص. لكل سطر، قم بإخراج السطر نفسه، ولكن مع استبدال كل حرف "о" (حرف روسي) بالرقم "0" (صفر).

إخراج

e1tot O2

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور
# Получаем зашифрованную строку от пользователя
scrambled_message = input()

# Проверяем, не является ли строка пустой. Если пустая, то и результат - пустая строка.
if not scrambled_message:
    print("")
else:
    # Разделяем строку на отдельные слова по пробелу
    words = scrambled_message.split()
    
    # Создаем пустой список, в который будем складывать слова в правильном порядке.
    # Его размер равен количеству слов во входной строке.
    result_list = [''] * len(words)
    
    # Начинаем цикл по каждому слову в списке перемешанных слов
    for word in words:
        # Внутри этого цикла ищем цифру в текущем слове
        for char in word:
            # Проверяем, является ли текущий символ цифрой
            if char.isdigit():
                # Если это цифра, превращаем ее в число
                position = int(char)
                # Так как нумерация в задаче с 1, а индексы в списке с 0, вычитаем единицу
                index = position - 1
                # Помещаем текущее слово в результирующий список на правильную позицию
                result_list[index] = word
                # Мы нашли цифру, можно прекратить проверку символов в этом слове и перейти к следующему
                break
    
    # Соединяем отсортированные слова из списка обратно в одну строку через пробел
    final_message = " ".join(result_list)
    
    # Выводим итоговое, расшифрованное сообщение
    print(final_message)

🎉 تهانينا! 🎉

لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.

AD

إعلان

red-snake blue-snake green-snake

جارٍ تشغيل الكود...

مساعد الذكاء الاصطناعي

مرحباً! أنا مساعدك في البرمجة. اسألني أي شيء عن Python — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!