python name error:NameError:name'Jewels'未定义

问题描述 投票:-5回答:2

下面代码中的错误是什么?在哪里定义列表变量Jewels?

for jew in range(0,Total_Jewels):
    Jewels[jew]=int(raw_input("Please Enter approx price for Jewel#"+str(jew+1)))

错误

请输入Jewel#111的大约价格------------------------------------------ --------------------------------- NameError中的犹太人的NameError Traceback(最近一次调用最后一次)()1 0,Total_Jewels):----> 2珠宝[jew] = int(raw_input(“请输入Jewel的大约价格#”+ str(jew + 1)))

NameError:未定义名称'Jewels'

python python-2.7
2个回答
0
投票

您无法以这种方式填写列表。因为你从一个空列表Jewels = []开始,你分配给Jewels[0]的尝试将导致IndexError。您可以改为使用list.append方法

jewels = []
for i in range(total_jewels):
    jewels.append(raw_input('Please Enter approx price for Jewel #{}: '.format(i)))

或列表理解

jewels = [raw_input('Please Enter approx price for Jewel #{}: '.format(i)) for i in range(total_jewels)]

0
投票

不确定你的代码是什么样的,所以不确定你的要求。

也许试试:

prices = []
for j in range(Total_Jewels):
    prices.append(input("Please enter approx price for Jewel#"+str(j+1)))
© www.soinside.com 2019 - 2024. All rights reserved.