Форум сайта python.su
Нужна помощь!
Нужно найти слово согласно именно указанным аргументам функциям только так!!!
У меня выходит одна ошибку которую не знаю как решить
def solve_riddle(riddle, word_length, start_letter, reverse=False): ind = riddle.index(start_letter) #print(riddle) #print(start_letter) #print(ind) #print(word_length) if reverse == False: print(reverse) print(riddle[ind:ind + word_length]) return riddle[ind:ind + word_length] elif reverse == True: # print(reverse) # print(riddle[ind:(word_length-ind):-1]) return riddle[ind:(word_length-ind):-1] else: # если слово не найдено вернуть пустую строку return " "
Отредактировано Alduin (Фев. 1, 2023 20:54:19)
Офлайн
def solve_riddle(riddle, word_length, start_letter, reverse=False): step = reverse and -1 or 1 i = riddle.index(start_letter) return riddle[i:i + word_length * step:step]
Офлайн
И если честно не моуг прочитать это
step = reverse and -1 or 1
def solve_riddle(riddle, word_length, start_letter, reverse=False): step = reverse and -1 or 1 i = riddle.index(start_letter) return riddle[i:i + word_length * step:step]
Офлайн
Alduinэто когда символа нет в строке ошибка вылазит
ValueError: substring not found
def solve_riddle(riddle, word_length, start_letter, reverse=False): step = reverse and -1 or 1 i = start_letter in riddle and riddle.index(start_letter) or -1 return i != -1 and riddle[i:i + word_length * step:step] or ''
Офлайн
Все сделал отмена
Офлайн
def solve_riddle(riddle, word_length, start_letter, reverse=False):
if start_letter in riddle:
return riddle[riddle.index(start_letter):riddle.index(start_letter) + word_length] if not reverse else riddle[riddle.rindex(start_letter) - word_length+1:riddle.rindex(start_letter)+1][::-1]
else:
return ""
Офлайн
step = reverse and -1 or 1
Можете это обььснить, и правильно ли читаю?
шаг = реверс и оно есть -1 (Тогда это ложь) или это 1 тогда это тру
Поправьте такое редко вижу
Отредактировано Alduin (Фев. 1, 2023 22:21:06)
Офлайн
Alduinэто равносильно этой записи
Можете это обььснить, и правильно ли читаю?
step = -1 if reverse else 1
print(1 and 1) print(1 and 0) print(0 and 1) print(0 or 1)
Офлайн