Даны натуральное число n символы S1….,Sn. Группы символов разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя , будем называть словами . Найти длину самого короткого слова .
input() # значение n на фиг не нужно, но вводить приходится
print(min(map(len, input().split()))) И это быстрее, чем сортировка или выбор самого короткого циклом.
def shortest_word_length(string):
words = string.split() # Разбиваем строку на слова
shortest_length = float('inf') # Начальное значение для длины самого короткого слова
for word in words:
word_length = len(word)
if word_length < shortest_length:
shortest_length = word_length
return shortest_length
# Пример использования функции
input_string = "Даны натуральное число n символы S1….,Sn. Группы символов разделенные пробелами"
result = shortest_word_length(input_string)
print("Длина самого короткого слова:", result)
s = input() # вводим строку
words = s.split() # разбиваем строку на слова
min_len = len(words[0]) # предполагаем, что самое короткое слово - первое
for word in words:
if len(word) < min_len:
min_len = len(word) # если нашли слово короче, обновляем минимальную длину
print(min_len) # выводим результат
Как это работает:
1. Мы считываем строку s с помощью функции input().
2. Затем мы разбиваем строку на слова с помощью метода split(). Этот метод разбивает строку на части по пробелам и возвращает список этих частей.
3. Мы предполагаем, что самое короткое слово - это первое слово в списке. Мы сохраняем его длину в переменной min_len.
4. Затем мы проходим по всем словам в списке и сравниваем их длины с min_len. Если мы находим слово, которое короче, мы обновляем значение min_len.
5. В конце мы выводим значение min_len.
Пример использования:
Введите строку: hello world this is a test
1
В этом примере самое короткое слово - это "a", которое имеет длину 1 символ.