Я работаю над кодом, в котором я пытаюсь взять argv (i, w или f) из командной строки. Затем, используя ввод, я хочу взять список целых чисел, float или слов и выполнить несколько вещей.Python - Добавление и сортировка списка
- Пользователь вводит «f» в командной строке, а затем вводит список плавающих точек, где значения будут добавляться в пустой список. Затем программа сортирует список float и печатает выходные результаты.
Я хочу похожие слова и целые числа.
Если вход представляет собой список слов, выход будет печатать слова в алфавитном порядке. Если вход представляет собой список целых чисел, выход будет списком в обратном порядке.
Это код, который у меня есть до сих пор, но на данный момент некоторые из входных значений просто добавляют значения в пустой список. Что мне не хватает, что препятствует правильному выполнению кода?
, например, программа начнет путем добавления имени программы и 'W' для слова:
$ test.py w
>>> abc ABC def DEF
[ABC, DEF,abc,def] # list by length, alphabetizing words
код
import sys, re
script, options = sys.argv[0], sys.argv[1:]
a = []
for line in options:
if re.search('f',line): # 'f' in the command line
a.append(input())
a.join(sorted(a)) # sort floating point ascending
print (a)
elif re.search('w', line):
a.append.sort(key=len, reverse=True) # print list in alphabetize order
print(a)
else: re.search('i', line)
a.append(input())
''.join(a)[::-1] # print list in reverse order
print (a)
Большое вам спасибо! Это хорошо работает. Ваше использование словаря - лучший вариант! – brazjul