• 1
    डेटा I/O
    • कार्य
  • 2
    शर्तें
    • कार्य
  • 3
    for लूप
    • कार्य
  • 4
    स्ट्रिंग
    • कार्य
  • 5
    while लूप
    • कार्य
  • 6
    सूचियां
    • कार्य
  • 7
    2D मैट्रिक्स
    • कार्य
  • 8
    डिक्शनरी
    • कार्य
  • 9
    सेट
    • कार्य
  • 10
    फ़ंक्शन
    • कार्य
  • к

पाठ 5. While cycle

कठिनाई:

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

कार्य«संख्या का मूल चयन»

💻 Python

दूर के ग्रह XB-103 पर, एक अनुसंधान रोबोट भूविज्ञानी कन्वेयर बेल्ट से खनिजों के नमूने एकत्र करता है। प्रत्येक प्रकार के खनिज का अपना अद्वितीय संख्यात्मक पहचानकर्ता (ID) होता है। रोबोट नियंत्रण प्रणाली को यथासंभव कुशलता से काम करना चाहिए, इसलिए रोबोट के भंडारण को अनुकूलित करने के लिए, शिफ्ट के अंत में केंद्रीय कंप्यूटर को केवल एक संख्या भेजना आवश्यक है: एक ही प्रकार के नमूनों की सतत श्रृंखला की अधिकतम लंबाई क्या थी। रोबोट की शिफ्ट तब समाप्त होती है जब ID 0 वाला एक विशेष अंशांकन नमूना आता है।

rn

आपको खनिजों के संख्यात्मक पहचानकर्ताओं का एक अनुक्रम दिया गया है। अनुक्रम हमेशा संख्या 0 के साथ समाप्त होता है, जो शिफ्ट के अंत को दर्शाता है और खनिज का ID नहीं है। इस अनुक्रम में एक पंक्ति में समान IDs की सबसे बड़ी संख्या निर्धारित करें।

इनपुट फॉर्मेट

पूर्ण प्राकृतिक संख्याएँ दर्ज की जाती हैं, प्रत्येक एक नई पंक्ति से। अनुक्रम संख्या 0 के साथ समाप्त होता है।

आउटपुट फॉर्मेट

एक संख्या & mdash; समान तत्वों के सतत अनुक्रम की अधिकतम लंबाई।

उदाहरण

इनपुट

1
7
7
7
2
2
9
0

आउटपुट

3

संकेत

There will be no clue here, decide for yourself!

main.py
परीक्षण 1
परीक्षण 2
परीक्षण 3
परीक्षण 4
परीक्षण 5
परीक्षण 6
परीक्षण 7
परीक्षण 8
परीक्षण 9
परीक्षण 10
डेवलपर का समाधान
# Инициализируем переменные для подсчета
# max_len - хранит максимальную найденную длину серии
# current_len - хранит длину текущей серии одинаковых чисел
# prev_n - хранит предыдущее число для сравнения с текущим

max_len = 0
current_len = 0
# Используем -1 как начальное значение, так как ID минералов - натуральные числа
prev_n = -1 

# Запускаем бесконечный цикл, который прервется при вводе 0
while True:
    # Считываем очередной ID и преобразуем его в целое число
    n = int(input())

    # Условие выхода из цикла - конец смены
    if n == 0:
        break

    # Сравниваем текущий ID с предыдущим
    if n == prev_n:
        # Если они равны, увеличиваем счетчик текущей серии
        current_len += 1
    else:
        # Если числа не равны, значит серия прервалась.
        # Сначала проверяем, не была ли закончившаяся серия самой длинной
        if current_len > max_len:
            max_len = current_len
        
        # Начинаем новую серию с текущего числа. Ее длина равна 1.
        current_len = 1
        # Обновляем "предыдущее" число
        prev_n = n

# После завершения цикла нужно выполнить еще одну проверку.
# Это необходимо для случая, когда самая длинная серия оказалась в самом конце
# последовательности, прямо перед нулем.
if current_len > max_len:
    max_len = current_len

# Выводим результат
print(max_len)

🎉 बधाई! 🎉

आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।

AD

विज्ञापन

red-snake blue-snake green-snake

कोड चल रहा है...

AI सहायक

नमस्ते! मैं आपका प्रोग्रामिंग सहायक हूँ। Python के बारे में कोई भी सवाल पूछें — मैं functions, methods समझा सकता हूँ और मौजूदा task में मदद कर सकता हूँ!