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

درس 2. Conditions

الصعوبة:

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

مسألة«سفر عبر الزمن»

💻 Python

أنت & mdash; كبير مهندسي مشروع "كرونوس"، وفريقك على وشك تحقيق أعظم اكتشاف & mdash; صنع آلة الزمن. كل شيء جاهز للقفزة الأولى، ولكن بقي جانب أمني واحد بالغ الأهمية. المشكلة الرئيسية التي يجب عليك حلها & mdash; هي منع التناقضات الزمنية. أبسط وأخطر تناقض & mdash; الوصول إلى وقت قبل لحظة المغادرة. هذا يمكن أن ينتهك العلاقة السببية ويؤدي إلى عواقب كارثية على الكون بأكمله.

مهمتك & mdash; كتابة برنامج للحاسوب الموجود على متن آلة الزمن. يجب أن يطلب البرنامج تاريخ المغادرة (اليوم، الشهر، السنة) وتاريخ الوصول (اليوم، الشهر، السنة)، ثم يصدر الحكم: هل الرحلة ممكنة، أم أنها ستخلق تناقضًا غير مقبول.

تعتبر الرحلة ممكنة إذا تزامن تاريخ الوصول مع تاريخ المغادرة أو حدث بعده. إذا كان تاريخ الوصول يسبق تاريخ المغادرة بيوم واحد على الأقل، فيجب حظر الرحلة.

يطلب الحاسوب الموجود على متن الآلة البيانات دائمًا بترتيب صارم: أولاً ثلاثة أرقام لتاريخ المغادرة (اليوم، الشهر، السنة)، ثم ثلاثة أرقام لتاريخ الوصول (اليوم، الشهر، السنة).

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

ستة أسطر متتالية. يحتوي كل سطر على عدد صحيح واحد.

rn
    rn
  1. يوم المغادرة
  2. rn
  3. شهر المغادرة
  4. rn
  5. سنة المغادرة
  6. rn
  7. يوم الوصول
  8. rn
  9. شهر الوصول
  10. rn
  11. سنة الوصول
  12. rn

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

سطر واحد (نص) يحتوي على حكم الكمبيوتر الموجود على متن المركبة: "السفر ممكن" أو "مفارقة! السفر مستحيل".

مثال

إدخال

15
5
2025
16
5
2025

إخراج

السفر ممكن

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور
# Запрашиваем данные для даты отправления
# d1 - день отправления
d1 = int(input()) 
# m1 - месяц отправления
m1 = int(input()) 
# y1 - год отправления
y1 = int(input()) 

# Запрашиваем данные для даты прибытия
# d2 - день прибытия
d2 = int(input())
# m2 - месяц прибытия
m2 = int(input())
# y2 - год прибытия
y2 = int(input())

# Начинаем иерархическую проверку дат
# Сначала проверяем год прибытия относительно года отправления
if y2 > y1:
    # Если год прибытия больше, путешествие точно возможно
    print("Путешествие возможно")
elif y2 < y1:
    # Если год прибытия меньше, путешествие точно невозможно
    print("Парадокс! Путешествие невозможно")
else: # y2 == y1, годы равны, нужно проверять месяц
    # Теперь проверяем месяц прибытия относительно месяца отправления
    if m2 > m1:
        # Если месяц прибытия больше (в том же году), путешествие возможно
        print("Путешествие возможно")
    elif m2 < m1:
        # Если месяц прибытия меньше (в том же году), путешествие невозможно
        print("Парадокс! Путешествие невозможно")
    else: # m2 == m1, и месяцы равны, нужно проверять день
        # Наконец, проверяем день прибытия относительно дня отправления
        if d2 >= d1:
            # Если день прибытия больше или равен (в том же месяце и году), путешествие возможно
            print("Путешествие возможно")
        else: # d2 < d1
            # Если день прибытия меньше, путешествие невозможно
            print("Парадокс! Путешествие невозможно")

🎉 تهانينا! 🎉

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

AD

إعلان

red-snake blue-snake green-snake

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

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

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