Форум сайта python.su
xam1816Ну извини, у нас куча заданий, что то знаю как делать, что то получается, а что то нет. А время идет. А терять баллы (допуск к экзамену - неочень хочется)
len_list = len(letters)
for i in range(len_list):
if letters == letter:
return i
Офлайн
>>> def alphabet_index(letters, letter): ... out = -1 ... for i, val in enumerate(letters): ... if val == letter: ... out = i ... break ... return out ... >>> alphabet_index(['a', 'b', 'c'], 'b') 1 >>> alphabet_index('hijkl', 'k') 3 >>> alphabet_index('abc', 'z') -1 >>>
UniQueЕсли уж написано, что функция возвращает int, то так и должно быть. А тут утверждение (assert) проверяет на возвращение строки. Нужно определиться сразу, что возвращать, число или строку. В питоне в подобных функциях чаще всего бывает, что либо возвращается число, либо порождается исключение. Возможно, тебе там надо исключение порождать, если буква не найдена с списке букв.AssertionError: assert alphabet_index(string.ascii_lowercase, "ä") == "Letter not found."
>>> import string >>> >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' >>>
Отредактировано py.user.next (Сен. 30, 2020 00:07:19)
Офлайн
py.user.nextСпасибо!
Отредактировано UniQue (Сен. 30, 2020 00:15:50)
Офлайн
Можешь такое попробовать, но даже если пройдёт тест, виноват всё равно препод. Тесты ты где-то эти взял, наверняка у него.
>>> def alphabet_index(letters, letter): ... out = 'Letter not found.' ... for i, val in enumerate(letters): ... if val == letter: ... out = i ... break ... return out ... >>> alphabet_index(['a', 'b', 'c'], 'b') 1 >>> alphabet_index('hijkl', 'k') 3 >>> alphabet_index('abc', 'z') 'Letter not found.' >>>
Офлайн
def alphabet_index(letters, letter: str): """ Find index. :param letters: list, str :param letter: str :return: int """ len_list = len(letters) for i in range(len_list): if letters[i] == letter: return i return "Letter not found" if __name__ == "__main__": print(alphabet_index(["a", "b", "c"], "b")) # -> 1 print(alphabet_index("hijkl", "k")) # -> 3 print()
Отредактировано xam1816 (Сен. 30, 2020 03:58:26)
Офлайн
xam1816Все равно туже ошибку выдало)
len_list = len(letters)
for i in range(len_list):
if letters == letter:
return i
return “Letter not found”
Офлайн
py.user.nextОго, прошло, 1/1 балла, спасибо
Можешь такое попробовать, но даже если пройдёт тест, виноват всё равно препод. Тесты ты где-то эти взял, наверняка у него.
Офлайн
xam1816
добавил в функции вывод “Letter not found” если не найдено символа,хотя в задании про это не сказано
UniQueОн забыл точку добавить в конце.
Все равно туже ошибку выдало)
Офлайн
marvellik
не благодари.
alphabet_index = str.index
Офлайн