打印正在以相反的字母顺序打印所有字母而不是单词

Fag*_*ano 0 python

我需要打印用户从命令行输入的单词列表。现在,字母顺序工作正常,但是当我反向打印时,输出顺序不正确。我尝试了很多事情,但现在想法不清了。任何人?这是代码:

import argparse

argparser = argparse.ArgumentParser()
argparser.add_argument("user_string", help = 'User string')
argparser.add_argument("--reverse", "-r", action="store_true", dest="reverseflag")
args = argparser.parse_args()
user_string = args.user_string
words_to_sort = user_string.split()
if len(words_to_sort) < 2:
        args.user_string
        # alerts user to input more than 1 word
        print("Invalid command line arguments to program. Please, supply two or more strings to sort.")

if len(words_to_sort) > 1 and (args.reverseflag == True):
        words_to_sort = sorted(args.user_string, reverse=True)
        print(*words_to_sort)
else:
        words_to_sort.sort()
        for word in words_to_sort:
            print(word)
Run Code Online (Sandbox Code Playgroud)

这是我从命令行得到的:

PS C:\Users\desktop\folder> python mysort.py --reverse "all mall ball"
m l l l l l l b a a a
PS C:\Users\desktop\folder> python mysort.py "all mall ball"
all
ball
mall
Run Code Online (Sandbox Code Playgroud)

相反,应该只是将数组从z反转为a,但不幸的是并非如此。

bro*_*oot 5

如果reverse为True,则您的代码会将用户输入视为一个巨大的字符串:

words_to_sort = sorted(args.user_string, reverse=True)
Run Code Online (Sandbox Code Playgroud)

相反,您需要传递字符串列表,即words_to_sort

words_to_sort = sorted(words_to_sort, reverse=True)
Run Code Online (Sandbox Code Playgroud)