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
エラー。私は何か間違ったことをしていますか、それとも間違った方法で見ていますか?
PriceList [0] [1] [2] [3] [4] [5] [6]を使用して複数のインデックスを選択するのではなく、各[]がサブインデックスに入ります。
これを試して
PizzaChange=float(input("What would you like the new price for all standard pizzas to be? "))
PriceList[0:7]=[PizzaChange]*7
PriceList[7:11]=[PizzaChange+3]*4
PriceListの要素0〜11を新しい値に設定しようとしているようです。構文は通常、次のようになります。
Prompt = "What would you like the new price for all standard pizzas to be? "
PizzaChange = float(input(Prompt))
for i in [0, 1, 2, 3, 4, 5, 6]: PriceList[i] = PizzaChange
for i in [7, 8, 9, 10, 11]: PriceList[i] = PizzaChange + 3
それらが常に連続した範囲である場合、次のように書くことはさらに簡単です:
Prompt = "What would you like the new price for all standard pizzas to be? "
PizzaChange = float(input(Prompt))
for i in range(0, 7): PriceList[i] = PizzaChange
for i in range(7, 12): PriceList[i] = PizzaChange + 3
参考までに、PriceList[0][1][2][3][4][5][6]
は「PriceList
の要素0の要素1の要素2の要素3の要素5の要素6の要素6を参照します。言い換えると、((((((PriceList[0])[1])[2])[3])[4])[5])[6]
と同じです。