Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 11, 2016 14:44:30

gratiani
Зарегистрирован: 2016-05-30
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Индексация символов строки

 >>> in0 = input()
pnnepelqomhhheollvlo
>>> in0.index('h') < in0.index('e')
False
Что необходимо применить, чтобы метод index брал индекс символа e не первого по счету, а допустим третьего, чтобы сравнение возвращало True.

Офлайн

#2 Авг. 11, 2016 14:55:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Индексация символов строки

gratiani
Что необходимо применить, чтобы метод index брал индекс символа e не первого по счету
https://docs.python.org/3/tutorial/datastructures.html
“list.index(x)
Return the index in the list of the first item whose value is x. It is an error if there is no such item.”

Надо скачать исходники питона. Поправить в них реализацию метода index. Откомпилировать его. И раздавать этот интерпретатор всем кому будете давать свой скрипт, инструктируя пользователей что ваш скрипт может работать только со специальной версией питона.



Отредактировано doza_and (Авг. 11, 2016 14:56:29)

Офлайн

#3 Авг. 12, 2016 02:56:08

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Индексация символов строки

как сказал doza_and постановка вопроса неправильна, но можно

 #  так
def my_index(s, c, n=1, start=0):
    for i in range(n):
        start = s.index(c, start + 1)
    return start
t = 'pnnepelqomhhheollvlo'
print(my_index(t, 'h') < my_index(t, 'e', 2))
#  или так
class My_str(str):
    def my_index(self, c, n=1, start=0):
        for i in range(n):
            start = self.index(c, start + 1)
        return start
t = My_str('pnnepelqomhhheollvlo')
print(t.my_index('h') < t.my_index('e', 3))


ps а почему форум добавляет пробел перед первой строкой кода?



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Авг. 12, 2016 02:59:18)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version