如何从输入中删除空格并使输入保持为单个条目

时间:2019-04-09 03:08:35

标签: python python-3.x

我的作业是制作一个程序,该程序接受用户输入并将其添加到列表中,然后返回几个值。

但是,作业有一项规定,如果用户在输入之前或之后输入空格,则它应该接受。我也遇到了我的答案被拆分的问题(在列表中输入24个puts 2和4)。

def main():
    done = False
    userNum = []
    num = 0
    print("Please enter to numbers to find the min/max value, sum, and number of entries.")
    while not done:
        listAdd = input("Please enter a number. When done press enter: ")
        userNum += listAdd
        if not listAdd:
            break
        userNum = list(map(int, userNum))
        num += 1

    print("Your list is: ", userNum)
    print("The amount of numbers entered: ", num)

    #max
    max = 0
    for i in userNum:
        if i > max:
            max = i
    print("Your maximum value of the list is: ", max)

    #min
    mini = 1
    for i in userNum:
        if i < mini:
            mini = i
    print("Your minimum value of the list is: ", mini)

    #average
    avgList = 0
    count = 0
    while count < num:
        avgList += userNum[count]
        count += 1
    print("The average value of your function is: ", avgList / num)

代码可以正常运行并返回期望值。我只有前面提到的两个问题。

我认为这是因为我不熟悉map函数,但是我用它来转换为字符串。我该如何解决?

3 个答案:

答案 0 :(得分:1)

您可以根据需要将listAdd强制转换为int / float而不是使用map。这还将使多个数字保持在一起。 如果您要输入多个以空格或其他字符分隔的数字,则需要先将它们分开。

main

listAdd = int(listAdd) 例如将返回int(' 5')

5

listAdd = float(listAdd) 例如将返回float(' 5')

答案 1 :(得分:0)

问题是当您将从输入中获取的字符串添加到列表中时。当您使用+将它们添加在一起时,它将获取字符串的每个元素并将它们分别添加到列表中。将整个元素添加到列表的正确方法是.append()方法。同样,当您在列表的后面map int时,空格也会被删除。

答案 2 :(得分:0)

获取输入时,使用int(listAdd)将其更改为整数,然后使用append函数将其添加到数组中。因此,

userName.append(int(listAdd))