PizzaChange=float(input("What would you like the new price for all standard pizzas to be? "))
PriceList[0][1][2][3][4][5][6]=[PizzaChange]
PriceList[7][8][9][10][11]=[PizzaChange+3]
基本上,我有一个输入,用户将把一个数字值(浮点输入),然后它会设置所有这些前面提到的列表索引到该值。由于某种原因,我不能让它设置他们没有拿出一个:
TypeError: 'float' object is not subscriptable
错误。我是做错了什么还是我看问题的方式错了?
6条答案
按热度按时间pxq42qpu1#
PriceList[0]
是浮点型。PriceList[0][1]
试图访问浮点型的第一个元素。请改为或
i1icjdpr2#
这是说:转到我的集合
PriceList
的第一个项目。那是一个集合;得到它的第二项。那是一个集合;得到第三个...相反,您需要 * 切片 *:
nx7onnlm3#
c86crjj04#
您似乎正在尝试将PriceList的元素0到11设置为新值。语法通常如下所示:
如果它们总是连续的范围,那么写起来就更简单了:
作为参考,
PriceList[0][1][2][3][4][5][6]
表示“PriceList
的元素5的元素6的元素4的元素3的元素2的元素1的元素0的元素。换句话说,它与((((((PriceList[0])[1])[2])[3])[4])[5])[6]
相同。v7pvogib5#
您没有选择价格表为[0][1][2][3][4][5][6]的多个指标,而是将每个[]放入子指标。
试试这个
t0ybt7op6#
我得到了下面相同的错误:
TypeError:"float"对象不可订阅
因为我在
MoneyField()
和Django-money中分别将带小数部分的数字设置为MinMoneyValidator()
和MaxMoneyValidator()
,如下所示:因此,我在
MoneyField()
中将不带小数部分的数字分别设置为MinMoneyValidator()
和MaxMoneyValidator()
,如下所示,然后解决了上述错误: