Python - Принимая вход - PullRequest
       56

Python - Принимая вход

0 голосов
/ 27 марта 2020

В коде я хочу взять несколько переменных в одной строке. Но количество переменных nest зависит от первой (cmd), как я пишу операторы if. Как я могу сделать это в одну строку?

enter code here
ls = list()     
ans = []
n = int(input())

for _ in range(n):
    cmd = input()

    if cmd == "insert":
        i, e = map(int, input().split())
        ls.insert(i, e)
    elif cmd == "print":
        ans.append(ls.copy())

    elif cmd == "remove":
        e = int(input())
        ls.remove(e)
    elif cmd =="append":
        e = int(input())
        ls.append(e)
    elif cmd == "sort":
        ls.sort()
    elif cmd == "pop":
        ls.pop()
    elif cmd == "reverse":
        ls.reverse()
    else:
        print("invalid input") 

print(ans)      

1 Ответ

0 голосов
/ 27 марта 2020

Будет ли это работать для вас?

ls = []
ans = []
n = int(input())

for _ in range(n):
    cmd = input().split()

    c = cmd[0]
    if c == "insert":
        ls.insert(int(cmd[1]), int(cmd[2]))
    elif c == "print":
        ans.append(ls.copy())
    elif c == "remove":
        ls.remove(int(cmd[1]))
    elif c =="append":
        ls.append(int(cmd[1]))
    elif c == "sort":
        ls.sort()
    elif c == "pop":
        ls.pop()
    elif c == "reverse":
        ls.reverse()
    else:
        print("invalid input")

print(*ans, sep = '\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...