Найти - Пользователи
Полная версия: нужна помощь по задачке
Начало » Центр помощи » нужна помощь по задачке
1
bronko
Здравствуйте. Только начал учиться программировать, возможно буду спрашивать глупости, не кидайте камнями сильно :)

Задача: Написать программу поиска самого длинного слова в строке, разделенной пробелами.

Мой код:
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()?

Спасибо
sp3
max для списка строк это не max длины строк, а max их значений(кодов)

проще всего реализовать через сортировку списков:
stroki = raw_input("Enter your stroke: ").split()
stroki.sort(key = len)

print "Maximum word's length in your stroke: ", len(stroki[-1])
print "Minimum word's length in your stroke: ", len(stroki[0])
print " "
print "The longest word in your stroke: ", stroki[-1]
print "The shortest word in your stroke: ", stroki[0]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB