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]
Fondamentalement, j'ai une entrée dans laquelle un utilisateur mettra des valeurs numériques (entrée flottante), puis il définira tous ces index de liste susmentionnés à cette valeur. Pour une raison quelconque, je ne peux pas le faire pour les définir sans trouver un:
TypeError: 'float' object is not subscriptable
erreur. Suis-je en train de faire quelque chose de mal ou est-ce que je le regarde simplement dans le mauvais sens?
Vous ne sélectionnez pas plusieurs index avec PriceList [0] [1] [2] [3] [4] [5] [6], mais chaque [] va dans un sous-index.
Essaye ça
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
Il semble que vous essayez de définir les éléments 0 à 11 de PriceList sur de nouvelles valeurs. La syntaxe ressemblerait généralement à ceci:
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
S'il s'agit toujours de plages consécutives, il est encore plus simple d'écrire:
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
Pour référence, PriceList[0][1][2][3][4][5][6]
fait référence à "Élément 6 de l'élément 5 de l'élément 4 de l'élément 3 de l'élément 2 de l'élément 1 de l'élément 0 de PriceList
. Autrement dit, c'est la même chose que ((((((PriceList[0])[1])[2])[3])[4])[5])[6]
.