Python 正在尝试在列表中创建列表

Python 正在尝试在列表中创建列表,python,Python,这是我的密码 Apple = ['Aapl', 300] Microsoft = ['Msft', 180] #List of Stocks in the Index stocks = [Apple, Microsoft] #Company Lookup to Find Ticker Symbol or Share Price def lookup(stock): return stock n=0 if stock == stocks[n]: sto

这是我的密码


Apple = ['Aapl', 300]
Microsoft = ['Msft', 180]

#List of Stocks in the Index
stocks = [Apple, Microsoft]

#Company Lookup to Find Ticker Symbol or Share Price
def lookup(stock):
    return stock
    n=0
    if stock == stocks[n]:
        stock = stock
    else: 
        n=n+1

stock = (input("What company would you like to look up?"))
lookup(stock)
print(stock)

##Non working

select = input("Would you like their ticker (1) or price (2)?") 
if select == 1:
    print(stock[0])
else:
    print(stock[1])    
目前我得到的是股票中的第一个或第二个字母,即苹果的A或p,微软的m或I。
我想让Python认识到变量“stock”的值实际上是和index,并说明索引中的0或1位置。有什么帮助吗?

我想你想要的是这样的:

Apple = ['Aapl', 300]
Microsoft = ['Msft', 180]

#List of Stocks in the Index
stocks = {'Apple': Apple, 'Microsoft': Microsoft}

#Company Lookup to Find Ticker Symbol or Share Price
def lookup(stock_input):
  if stock_input in stocks:
    return stocks[stock_input]
  else:
    print('{0} not found in {1}'.format(stock_input, stocks.keys()))

stock_input = input("What company would you like to look up?")
stock = lookup(stock_input)
print(stock)

select = int(input("Would you like their ticker (1) or price (2)?"))
if select == 1:
    print(stock[0])
else:
    print(stock[1])

我想你想要的是这样的东西:

Apple = ['Aapl', 300]
Microsoft = ['Msft', 180]

#List of Stocks in the Index
stocks = {'Apple': Apple, 'Microsoft': Microsoft}

#Company Lookup to Find Ticker Symbol or Share Price
def lookup(stock_input):
  if stock_input in stocks:
    return stocks[stock_input]
  else:
    print('{0} not found in {1}'.format(stock_input, stocks.keys()))

stock_input = input("What company would you like to look up?")
stock = lookup(stock_input)
print(stock)

select = int(input("Would you like their ticker (1) or price (2)?"))
if select == 1:
    print(stock[0])
else:
    print(stock[1])

有两个问题。如前所述,
lookup
函数返回字符串
“Aapl”
“Msft”
,而不是列表。然后,任何
input
语句的值都是字符串,但您的条件是将其与int进行比较,因此它总是返回
False
。因此,它将始终打印
stock
字符串的第二个元素,即
a
s

要解决此问题,可以执行以下操作:

def查找(库存):
对于库存中的库存i:
如果股票==股票i[0]:
retstock=库存
退货(retstock)
股票=(输入(“您想查找哪家公司?”)
库存=查找(库存)
打印(库存[1])
选择=输入(“您想要他们的股票代码(1)还是价格(2)?”
如果选择==“1”:
打印(库存[0])
elif select==“2”:
打印(库存[1])

有两个问题。如前所述,
lookup
函数返回字符串
“Aapl”
“Msft”
,而不是列表。然后,任何
input
语句的值都是字符串,但您的条件是将其与int进行比较,因此它总是返回
False
。因此,它将始终打印
stock
字符串的第二个元素,即
a
s

要解决此问题,可以执行以下操作:

def查找(库存):
对于库存中的库存i:
如果股票==股票i[0]:
retstock=库存
退货(retstock)
股票=(输入(“您想查找哪家公司?”)
库存=查找(库存)
打印(库存[1])
选择=输入(“您想要他们的股票代码(1)还是价格(2)?”
如果选择==“1”:
打印(库存[0])
elif select==“2”:
打印(库存[1])

您正在将字符串
stock
传递到函数中并立即返回它。因此
lookup()
返回一个字符串而不是列表。您正在将字符串
stock
传递到函数中并立即返回它。因此
lookup()
返回一个字符串而不是列表。