Почему цикл for не определяет, отсортировано ли введенное пользователем слово в алфавитном порядке? - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь написать программу так, чтобы она принимала слово в качестве входных данных и определяла, находятся ли его буквы в алфавитном порядке.

Мой код:

words = str(input("Enter a word")) #Coal
for i in words:
    if not sorted:
        print("Letters not in alphabetical order")
    else:
        print("Letters are in alphabetical order")

Однако выводЯ получаю даже для #coal, который не отсортирован, идет как "буквы в алфавитном порядке".Что не так с моим кодом и синтаксисом?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Примерно так:

words = str(input("Enter a word")) #Coal
for word in words:
  if word !=''.join(sorted(word)):
    print("Letters not in alphabetical order")
else:
    print("Letters are in alphabetical order")
0 голосов
/ 16 февраля 2019

Эта строка кода:

if not sorted:

На самом деле ничего не проверяет.sorted - это встроенная функция, которая соответствует действительности, поэтому not sorted всегда False.Чтобы использовать sorted, вы должны дать ему аргумент.

Повторение строки не требуется.Вы должны также установить строку в нижний регистр:

word = input("Enter a word: ").lower()
if word != ''.join(sorted(word)):
    print("Letters not in alphabetical order")
else:
    print("Letters are in alphabetical order")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...