Форум » Обработка числовых последовательностей » Python: 16 - Символьные строки » Ответить

Python: 16 - Символьные строки

Бочарова: Здравствуйте! Не даёт покоя задание не сходящиеся с ответом. ПРОверяла в WING, вроде корректно работает, а в тесте неверно. 10. Программа должна считать, сколько раз в строке S встречается подстрока "12". Какой оператор надо вставить вместо многоточия? Вводите ответ без пробелов. c = 0 while True: ... if p < 0: break c += 1 S = S[p+2:] Ответ: p=S.find("12") и 12. Какой оператор надо вставить вместо многоточия, чтобы в строке S были записаны символы строки Q в обратном порядке? Вводите ответ без пробелов. Q = "0123456789" S = "0" for k in range(1,10): ... Ответ: S=S+Q[(len(Q)-k)]

Ответов - 11

cabanov.alexey: 10. Программа работает верно, ответ 3. [pre2] s='123451234512345' c=0 while True: p = s.find('12') if p<0: break c+=1 s = s[p+2:] print(c)[/pre2] Элегантное решение [pre2] print( len( s.split("12") ) - 1 )[/pre2]

Поляков: Бочарова пишет: Ответ: S=S+Q[(len(Q)-k)]Это неверно, потому что ваша цепочка будет начинаться с нуля. А правильный ответ: S=Q[k]+S

Бочарова: Класс!!! Красиво!


Поляков: Бочарова пишет: p=S.find("12") Это правильный ответ, он принимается системой. Я только что проверил.

Бочарова: https://www.kpolyakov.spb.ru/school/test9a/py16.htm Вот по этой ссылке выполняю тест. Не принимает и всё. Обновляла, в другой вкалдке открывала. Где может быть ошибка?

Поляков: Бочарова пишет: https://www.kpolyakov.spb.ru/school/test9a/py16.htm Вот по этой ссылке выполняю тест. Не принимает и всё. Обновляла, в другой вкалдке открывала. Где может быть ошибка? Посмотрел - в тесте для 9 класса принимался только вариант с двойным кавычками. Если вы вводили с апострофами, то получали сообщение об ошибке. Сейчас эта ошибка исправлена.

Бочарова: Спасибо! Получилось! Огромная благодарность за оперативность!!

cabanov.alexey: Дополню, что одной строчкой строка разворачивается так [pre2] S=reverse(Q)[/pre2]

Поляков: cabanov.alexey пишет:Дополню, что одной строчкой строка разворачивается так S=reverse(Q) Это так, конечно. Но мы учим не Питон, а программирование. Питон - только способ иллюстрации. А дергать готовую функцию - это не проблема. Как хорошо сказал в одном интервью Борис Трушин, "Математика - это не о том, как применять формулу, а о том, как она получена".

cabanov.alexey: Интересно у вас проверка сделана . А можно предложить улучшение? Я бы валидацию ответа немного переписал, а именно вынес бы в отдельную функцию, которая удаляет все пробелы, заменяет ' на " и переводит в строчные буквы. const validation = answer => answer.replace(/\s+/g,'').replace(/'/g,'"').toLowerCase(); .... hash.includes(md5(validation(answer))).

Поляков: cabanov.alexey пишет: А можно предложить улучшение? Спасибо!



полная версия страницы