我正在撰寫一個程式,它接受一個輸入并將其轉換為一個整數串列,然后輸出串列中的最小和最大數字。當我呼叫將輸入轉換為串列的函式時,它會要求一個新的輸入。如何解決此問題以便存盤原始輸入?
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 提供一個新的輸入。
uj5u.com熱心網友回復:
你應該使用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
uj5u.com熱心網友回復:
它getList()再次要求您輸入,因為您在listMin函式內部時再次呼叫。通過洗掉,alist = getList() 您將擺脫該問題,但您還應該更改alistto 的所有變數名稱,aList或者您應該更改函式內部的引數名稱listMin。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/358021.html
下一篇:函式提示-引數的可能值
