Мне нужно чтобы в моём коде отсортированые слова выходили в список без повторений, и чтобы выдавалось количество каждой буквы в строке

    vvid = bool(int(input("1 если сортировать , 2 если считать: ")))
    if vvid  == 1:
        text=str(input("Enter text: "))
        w=text.split()
        e=""
        for r in sorted(w):
            e=e+" " +r
    print(e);

Ответы (1 шт):

Автор решения: Zhihar
vvid = bool(int(input("1 если сортировать , 2 если считать: ")))
if vvid  == 1:

вот этот код у вас будет работать всегда, если пользователь вводит 1 или 2, то при переводе в bool всё будет True, а проверка True == 1 будет срабатывать всегда :)

теперь касательно сортировки слов, то можно слова занести в множество (оно может содержать только уникальные элементы), потом преобразовать множество в список и отсортировать:

text = "text data text"
data = sorted(list(set(text.split())))
print(data) # будет выведено ['data', 'text']

чтобы подсчитать кол-во букв в строке можно использовать словарь:

text = "text data text"
data = dict()

for letter in text:
    data[letter] = data.get(letter, 0) + 1

print(data) # будет выведено {'t': 5, 'e': 2, 'x': 2, ' ': 2, 'd': 1, 'a': 2}
→ Ссылка