【问题标题】:Calling a Python Function Without Entering a New Input在不输入新输入的情况下调用 Python 函数
【发布时间】:2021-11-13 20:55:25
【问题描述】:

我正在编写一个程序,它接受输入并将其转换为整数列表,然后输出列表中的最小和最大数字。当我调用将输入转换为列表的函数时,它会要求新的输入。如何解决此问题以便存储原始输入?

def getList():
    user_input = input()
    newlist = user_input.split()

    for index in range(len(newlist)):
        newlist[index] = int(newlist[index])
    return newlist

def listMin(aList):
    alist = getList()
    small = alist[0]
    for num in alist:
        if num < small:
            small = num
    return small

def listMax(aList):
    alist = getList()
    large = alist[0]
    for num in alist:
        if num > large:
            large = num
    return large

### main program ###

myList = getList()
print(myList)
print(listMin(myList))
print(listMax(myList))

当它运行时,它会要求 listMin 和 listMax 的新输入。

【问题讨论】:

    标签: python list function


    【解决方案1】:

    您应该使用已经作为参数传递给函数的aList,而不是再次调用getList()。 只需删除您不必要地调用getList() 的行:

    def listMin(aList):
        small = aList[0]
        for num in aList:
            if num < small:
                small = num
        return small
    
    def listMax(aList):
        large = aList[0]
        for num in aList:
            if num > large:
                large = num
        return large
    

    【讨论】:

      【解决方案2】:

      它再次要求您输入,因为当您在 listMin 函数中时再次调用 getList()。 通过删除alist = getList(),您将摆脱该问题,但您还应该将alist的所有变量名称更改为aList,或者您应该更改listMin函数内的参数名称。

      【讨论】:

        猜你喜欢
        • 2020-09-13
        • 2012-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多