Код для вычисления наибольшего по длине слова в списке

360 просмотра
0
0 Комментариев

Программа из введенной строки должна выписать все слова в столбик, а потом из этой строки выписать самое длинное слово, код для получения столбца слов уже готов, а вот как вручную сделать код для поиска самого большого слова я не знаю.
Помогите пожалуйста.
Вот сам код:

str1 = str(input())
word = ""
words = []
k = 0
 
for i in str1:
 if i != " ":
  word += i
 else:
  words.append(word)
  word = ""
 
for j in words:
 print(j)
 
 
for j in words:
 if j > words(k):
  j += 1
 else:
  k += 1


Добавить комментарий

2 Answers

Python Опубликовано 14.12.2018
0

В соответствии к комментарию к ответу Andrio Skur:

words = ['a', 'asa1', 'dd', '111']
 
max_len_word = words[0]
 
for i in range(1, len(words)):
    word = words[i]
 
    if len(word) > len(max_len_word):
        max_len_word = word
 
print(max_len_word)  # asa1

Добавить комментарий
0

Вот так:

def str_split(s):
  words = []
  buf = ''
  for char in s:
    if char == ' ':
      if buf:
        words.append(buf)
      buf = ''
    else:
      buf += char
  if buf:
    words.append(buf)
  return words
 
 
def words_print(words):
  for word in words:
    print(word)
 
 
def len_word(word):
  i = 0
  for _ in word:
    i += 1
  return i
 
 
def find_max(words):
  temp = 0, ''
  for word in words:
    word_length = len_word(word)
    if word_length > temp[0]:
      temp = word_length, word
  return temp[1]
 
 
words = str_split(input())
words_print(words)
print('Max:', find_max(words))

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up