Задача: Написать программу поиска самого длинного слова в строке, разделенной пробелами.
Мой код:
stroka = str(raw_input("Enter your stroke: "))
print "Maximum word's length in your stroke: ", len(max(stroka.split(" ")))
print "Minimum word's length in your stroke: ", len(min(stroka.split(" ")))
print " "
print "The longest word in your stroke: ", max(stroka.split(" "))
print "The shortest word in your stroke: ", min(stroka.split(" "))
What do you think about my programming?
Maximum word's length in your stroke: 3
Minimum word's length in your stroke: 4
The longest word in your stroke: you
The shortest word in your stroke: What
При этом, если я вместо строки выше ввожу строку:
kkkk kk kkk kkkkk kkkkk kk kkkkkkkkkkkk
Maximum word's length in your stroke: 12
Minimum word's length in your stroke: 2
The longest word in your stroke: kkkkkkkkkkkk
The shortest word in your stroke: kk
Объяснить, почему с осмысленным предложением результат неверный, но с набором одинаковых букв все сходится? Может дело в кодировке? Если да, то как именно и почему это от нее зависит?
просьба 2: есть ли решение данной задачи без использования функции max()?
Спасибо