Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2020 23:29:01

UniQue
Зарегистрирован: 2020-09-29
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

xam1816
len_list = len(letters)
for i in range(len_list):
if letters == letter:
return i
Ну извини, у нас куча заданий, что то знаю как делать, что то получается, а что то нет. А время идет. А терять баллы (допуск к экзамену - неочень хочется)

Спасибо, код работает, дало 0.67 балла из 1
Ошибка какая то: test_alphabet_index_not_found
AssertionError: assert alphabet_index(string.ascii_lowercase, “ä”) == “Letter not found.”

Офлайн

#2 Сен. 30, 2020 00:00:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

  
>>> 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
AssertionError: assert alphabet_index(string.ascii_lowercase, "ä") == "Letter not found."
Если уж написано, что функция возвращает int, то так и должно быть. А тут утверждение (assert) проверяет на возвращение строки. Нужно определиться сразу, что возвращать, число или строку. В питоне в подобных функциях чаще всего бывает, что либо возвращается число, либо порождается исключение. Возможно, тебе там надо исключение порождать, если буква не найдена с списке букв.

Кстати, string.ascii_lowercase списком не является, это просто строка.
  
>>> import string
>>> 
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>>
Так что автор задачи и тестов к ней чуть-чуть не того. Либо это разные люди, либо он просто не может соединить 2 + 2 у себя в голове.



Отредактировано py.user.next (Сен. 30, 2020 00:07:19)

Офлайн

#3 Сен. 30, 2020 00:11:20

UniQue
Зарегистрирован: 2020-09-29
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

py.user.next
Спасибо!
Точно так же, код работает, но тестерр дает 0.67 из 1
И та же самая ошибка;
test_alphabet_index_not_found
AssertionError: assert alphabet_index(string.ascii_lowercase, “ä”) == “Letter not found.”

Это тестер проверяет, а не сам препод

Отредактировано UniQue (Сен. 30, 2020 00:15:50)

Офлайн

#4 Сен. 30, 2020 03:33:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

Можешь такое попробовать, но даже если пройдёт тест, виноват всё равно препод. Тесты ты где-то эти взял, наверняка у него.

  
>>> 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.'
>>>



Офлайн

#5 Сен. 30, 2020 03:57:17

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1310
Репутация: +  113  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

 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()

добавил в функции вывод “Letter not found” если не найдено символа,хотя в задании про это не сказано

Отредактировано xam1816 (Сен. 30, 2020 03:58:26)

Офлайн

#6 Сен. 30, 2020 17:41:53

UniQue
Зарегистрирован: 2020-09-29
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

xam1816
len_list = len(letters)
for i in range(len_list):
if letters == letter:
return i
return “Letter not found”
Все равно туже ошибку выдало)

Офлайн

#7 Сен. 30, 2020 17:42:20

UniQue
Зарегистрирован: 2020-09-29
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

py.user.next
Можешь такое попробовать, но даже если пройдёт тест, виноват всё равно препод. Тесты ты где-то эти взял, наверняка у него.
Ого, прошло, 1/1 балла, спасибо

Офлайн

#8 Окт. 1, 2020 01:47:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

xam1816
добавил в функции вывод “Letter not found” если не найдено символа,хотя в задании про это не сказано
UniQue
Все равно туже ошибку выдало)
Он забыл точку добавить в конце.



Офлайн

#9 Окт. 5, 2020 20:02:26

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Помогите с заданием. Нахождение индекса

marvellik
не благодари.

Ты тоже не благодари
 alphabet_index  = str.index



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version