Задание на сортировку. Питон
Случился затык с заданием. Прошу помочь
Задача такая: Элементами слов могут быть как буквы, так и цифры. Слова могут содержать любые символы языка.
Необходимо вывести количество слов (получилось), далее все четные цифры без повторений (не выходит, ошибка), самое длинное слово (получилось) и в этом слове все символы , отличные от заглавных латинских букв. С последним вообще труба, даже не совсем понимаю, как следует реализовывать. Мой код с комментариями ниже:
text = input()
#вывести все четные цифры без повторений из всех слов
sort = []
for a in text:
if a % 2 == 0:
print('Четные числа', sort.append(a))
#вывести количество слов
print('Количество слов в строке', len(text.split()))
l = len(text)
m = 0
ind = 0
count = 0
for i in range(l):
if text[i] != ' ':
count += 1
else:
if count > m:
m = count
ind = i - count
count = 0
if count > m:
m = count
ind = i - count + 1
print('Самое длинное слово', text[ind:ind + m])
#отсортировать символы, отличные от заглавных латинских букв
Спасибо заранее
Ответы (2 шт):
Автор решения: hyper-cookie
→ Ссылка
user_str = input('Введите строку: ')
user_words = user_str.split()
result_list = [[], [], [], []]
eng_alphabet = ["A", "B", "C", "D", "E",
"F", "Z", "H", "I", "K",
"L", "M", "N", "O", "P",
"Q", "R", "S", "T", "V",
"X"]
result_list[0].append('Всего слов - ' + str(len(user_words)))
long_word = max(user_words, key=len)
result_list[1].append('Все четные цифры строки - ' + ''.join([elem for elem in user_str if int(elem) % 2 == 0]))
result_list[2].append('Самое длинное слово - ' + long_word)
result_list[3].append('Все символы длинного слова - ' + ''.join([elem for elem in list(long_word) if elem not in eng_alphabet]))
Автор решения: Korney Chervonenko
→ Ссылка
import string
text = input('Введите строку: ') # ввод символов с клавиатуры
print('Вы ввели: {}'.format(text))
words = text.split() # разбираем input на слова
print('Количество слов: {}'.format(len(words)))
longest_word = max(words,key = len) # самое длинное слово
print('Самое длинное слово: {}'.format(longest_word))
# удаляем заглавные латинские буквы из longest_word
for ch in longest_word:
if ch in string.ascii_uppercase:
longest_word = longest_word.replace(ch,'')
print('Самое длинное слово после удаления заглавных латинских букв: {}'.format(longest_word))
