![](/img/trans.png)
[英]Python - Calling a Function Inside a For Loop - Changing Input Argument Without Overwriting It
[英]Calling a Python Function Without Entering a New Input
我正在编写一个程序,它接受一个输入并将其转换为一个整数列表,然后输出列表中的最小和最大数字。 当我调用将输入转换为列表的函数时,它会要求一个新的输入。 如何解决此问题以便存储原始输入?
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 提供一个新的输入。
你应该使用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
它再次要求您输入,因为当您在listMin
函数中时,您将再次调用getList()
。 通过删除alist = getList()
您将摆脱该问题,但您还应该将alist
所有变量名称更改为aList
或者您应该更改listMin
函数中的参数名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.