如何从python3中的输入读取规则的负整数?

时间:2019-05-12 16:44:40

标签: python python-3.x list input

如何在python 3中从input()中读取并分隔规则的负整数?我在执行此CodeChef.com问题时遇到了这个问题 https://www.codechef.com/NACA2019/problems/STGAME

我想到了我通常使用input()。split()的方式,但是那样会把负号分开,并且会使我也不想要的整数变为正数。

由于scanf(),使用C语言会更容易

strArr = input().split() #My usual way of splitting the string input
list cardsArr
for j in strArr:
    cardsArr.append(int(j)) # usual way to convert the list to integers
#I want to know how to read it.

输入 1 2 3 4 5 -1 -2 -3 -4 -5

预期结果 [1,2,3,4,5] [-1,-2,-3,-4,-5]

实际结果 [1,2,3,4,5] [-,1,-,2,-,3,-,4,-,5]

2 个答案:

答案 0 :(得分:-1)

使用input().split(" ")在每个空格处分割。

答案 1 :(得分:-1)

使用filter

a=list(map(int,input().strip().split())) # '1 2 3 4 5 -1 -2 -3 -4 -5'
c=list(filter(lambda x:x>=0,a))
b=list(filter(lambda x:x<0,a))
print(c,b)

# output  [1,2,3,4,5],[-1,-2,-3,-4,-5]