如何在Python中以单行输入n个数字作为输入?

时间:2018-02-17 12:19:21

标签: python-3.x input user-input

就像在c ++中一样,我怎么能要求用户输入一个范围

以下是用c ++输入用户输入的代码

 body label {
    position: fixed;
    display: block;
    margin-left:-100px; 
    margin-top: -115px; 
    z-index:99;
}

nav{
    margin-left:-130px;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

#res-nav:checked ~ nav {
    margin-left:50px;
}

如何在python3中询问上面的用户输入? (我不想把输入用在不同的行中)

7 个答案:

答案 0 :(得分:1)

有各种方法可以做到这一点。 用户可以在由白色空格分隔的单行中输入多个输入。让我们说我希望用户输入5个数字

  

1 2 3 4 5

这将输入一行。但请记住,任何输入都被认为是python中的字符串。因此,您必须将这些值转换为整数值。此外,您需要单独访问这些输入的值。为此,您可以将值转换为整数并将它们添加到列表中。在python中,奇怪的是,没有数组,而是列表。 所以你的代码应该是这样的:

mylist=list(map(int,input("Enter 5 numbers: ").split())

您可能希望查看split()map()函数的实现。您可以在官方文档中找到它们。但这里有一点解释: map(func,seq)函数将输入逐个转换为提供的函数,在本例中为int。此函数等效于for循环,它逐个遍历元素并应用某些变换函数。如果括号中没有提供分隔符,split()函数将按空格分割输入。默认情况下,map()函数返回一个地图对象。因此,要将其转换为列表,我们使用list()

希望这能澄清你的怀疑。

答案 1 :(得分:1)

以下代码段会将由空格分隔的单行输入映射为整数列表

lst = list(map(int, input().split()))
print(lst)

输出:

$ python test.py
1 2 3 4 5
[1, 2, 3, 4, 5]

答案 2 :(得分:1)

要输入已知长度的数组:

                    <div class="col-lg-3">
                        <label>Job Status:</label>
                        <select type="text" name="fname" class="form-control"  placeholder="Job Status" >
                                <option value="">Select Status</option>
                                <option class="btn btn-success"  value="Working">Working</option>
                                <option class="btn btn-warning"  value="In Proccess">In Proccess</option>
                                <option class="btn btn-danger" value="Closed">Closed</option>
                        </select>
                    </div>

答案 3 :(得分:0)

这将转换以空格分隔的数字存储在ar:

ar = list(map(int, input().strip().split(' ')))

答案 4 :(得分:0)

要在一行中并在限制中输入数字

limit = int(input("Enter your limit : "))

arr = list(map(int,input(""Enter your number : ").split()[:limit]))

答案 5 :(得分:0)

这些代码行也可以在不需要拆分参数的情况下工作,就像我在在线编译器以及codechef和hackerearth的某些想法中看到的那样

list1=list(map(int,input()))

答案 6 :(得分:-1)

n = 5  # here only five inputs taken from user
arr = list(map(int, input().split()[:n]))
print(arr)