Загрузка...

Hello everyone, I’m solving the 24th exam in computer science, I don’t know what the mistake is. Tell me what's wrong in the code?

Thread in Studies created by cool_booll Jun 19, 2021. 135 views

  1. cool_booll
    cool_booll Topic starter Jun 19, 2021 0 Jun 19, 2021
  2. givency
    givency Jun 20, 2021 /way before you came along I was doing alright/ 555 Oct 20, 2018
    Ctrl+F и смотришь след символ
     
  3. Goldian
    Goldian Jun 22, 2021 2 Mar 27, 2021
    Написал код, у тебя ошибка, в условии код сверяет один символ с тремя, что не может быть.
    :smile:
    Python

    with open('24_demo.txt', 'r') as f:
    s = f.read()
    total = 0
    # находим первое вхождение XYZ
    j = s.find('XYZ')
    k = 0
    # цикл от первого вхождения XYZ
    while j < len(s):
    # если три следующих символа - XYZ,
    # то счетчик увеличиваем на 3 и сдвигаем
    # индекс строки на 2 + 1 (в конце цикла)
    if s[j: j + 3] == 'XYZ':
    k += 3
    j += 2
    # если нет в следующей 3 символах XYZ
    # наше k должно быть положительно, потому что строка
    # начинается только с полных XYZ
    elif k > 0:
    # проверяем наличие набора XY
    if s[j: j + 2] == 'XY':
    k += 2
    j += 1
    # иначе проверяем наличие X
    elif s[j] == 'X':
    k += 1
    # так как полные наборы XYZ кончились
    # проверяем максимум и обнуляем счетчик
    total = max(k, total)
    k = 0
    j += 1 # начинаем следующий шаг
    print(total)
     
Top
Loading...