ВАЖНО UPD В КОНЦЕ!
Существующий код работает не для всех случаев.
def myfunc(x):
a = [int(i) for i in x.split()]
a[a.index(min(a))], a[a.index(max(a))] = a[a.index(max(a))], a[a.index(min(a))]
a = [str(i) for i in a]
return ' '.join(a)
myfunc()
Это работает для 3 4 5 2 1 и не работает для 1 5 4 3 2.
Почему?
!!! UPD: Я внес некоторые изменения, и это выглядит очень странно.
Я использовал две разные строки отдельно (с прокомментировал одну из них). Программа дает разные результаты в некоторых случаях. НО САМЫЙ ИНТЕРЕСНЫЙ, когда я использовал два из них, без комментариев - программа не возвращает строку дохода?
# a[a.index(min(a))], a[a.index(max(a))] = a[a.index(max(a))], a[a.index(min(a))]
a[a.index(max(a))], a[a.index(min(a))] = a[a.index(min(a))], a[a.index(max(a))]
Случаи, которые я использую:
#print(myfunc("5 1 4 3 2"))
#print(myfunc("1 5 4 3 2"))
#print(myfunc("3 4 5 2 1"))
#print(myfunc("-30000 30000"))
#print(myfunc("2147483647 -2147483648"))
#print(myfunc("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 17 16 15 14"))
#print(myfunc("1 2 3 4 5 6 7 8 9 10"))
#print(myfunc("1 9 8 7 6 5 4 3 2 10"))
UPD + = 1 Ребята, я изменил код на:
minind = a.index(min(a))
maxind = a.index(max(a))
a[minind], a[maxind] = a[maxind], a[minind]
Теперь это работает для всех случаев. Но вопрос о предыдущих делах все еще открыт
Пожалуйста помоги. Я провожу около 2 часов в попытках найти объяснение этому ...
Пожалуйста, помогите