Python 3.x 在Python3中创建一个创建两个列表的函数
我试图创建一个函数getStocks,它从用户那里获取两个列表,一个包含股票名称列表,另一个包含股票价格列表。这应该在一个循环中完成,这样它会一直获取股票名称和价格,直到用户输入字符串“done”作为股票名称。函数应该返回两个列表。我的主要问题是弄清楚我的参数是什么,如何持续接受名称和价格,以及应该使用什么类型的循环。我是一个非常新的编程,所以任何帮助将不胜感激。我相信我很接近,但我不确定我的错误在哪里Python 3.x 在Python3中创建一个创建两个列表的函数,python-3.x,Python 3.x,我试图创建一个函数getStocks,它从用户那里获取两个列表,一个包含股票名称列表,另一个包含股票价格列表。这应该在一个循环中完成,这样它会一直获取股票名称和价格,直到用户输入字符串“done”作为股票名称。函数应该返回两个列表。我的主要问题是弄清楚我的参数是什么,如何持续接受名称和价格,以及应该使用什么类型的循环。我是一个非常新的编程,所以任何帮助将不胜感激。我相信我很接近,但我不确定我的错误在哪里 def getStocks(name,price): stockNames = []
def getStocks(name,price):
stockNames = []
stockPrices = []
i = 0
name = str(input("What is the name of the stock?"))
price = int(input("what is the price of that stock?"))
while i < len(stockNames):
stockNames.append(name)
stockPrices.append(price)
i += 1
else:
if name = done
return stockNames
return stockPrices
def getStocks(名称、价格):
股票名称=[]
股票价格=[]
i=0
name=str(输入(“股票的名称是什么?”)
price=int(输入(“该股票的价格是多少?”)
而我(股票名称):
stockNames.append(名称)
股票价格。追加(价格)
i+=1
其他:
如果name=done
返回股票名称
返回股票价格
你的问题有点不清楚,但有些事情是不明确的,你不能有两条返回线,一旦你点击第一条,它就会离开函数。相反,你会写一些类似的东西
return (stockNames, stockPrices)
第二,while循环没有else,因此您实际上应该设置while循环,然后在开始处设置if语句来检查字符串是否“完成”,然后相应地执行操作。中断将使您脱离上一个while循环,即使它看起来和if关联。比如说:
while i < len(stockNames):
if name.upper() == 'DONE':
break
else:
stockNames.append(name)
stockPrices.append(price)
i += 1
但实际上,根据结构的其他部分,您可能希望创建一个字典,而不是有两个单独的列表,这样所有内容都保留在键:值对中,因此,您不必检查这两个对象的索引0,并希望它们不会被某个恶意函数移位,而是将键:值对“stock_x”:48始终放在一起 我需要程序一遍又一遍地询问一个名字和一个价格,直到我输入“done”作为名字的输入,然后我需要它打印两个列表。这段代码是我正在做的4个函数之一,第一个函数生成两个列表,第二个函数搜索名字列表中所需的股票,第三个函数查找哪些股票的价格高于搜索到的股票,第四个是把所有函数放在一起的主函数。@NicholasDePasquale上面的更新有意义吗?是的,我帮了很多忙,而且比我写的更有意义
def getStocks(name, price):
stockNames = name
stockPrices = price
while 1:
inputName = str(input("What is the name of the stock?"))
inputPrice = int(input("what is the price of that stock?"))
if name.upper() != 'DONE':
stockNames.append(inputName)
stockPrices.append(inputPrice)
else:
break
return (stockNames, stockPrices)