2017-07-22 4 views
-1

Ich versuche, ein einfaches Array-Programm zu erstellen und die Array-Elemente auszudrucken, bekomme aber sofort einen Fehler, nachdem ich Mitarbeiter 2 eingegeben habe: IndexError: Listenzuweisungsindex außerhalb des Bereichs.Listenzuweisungsindex außerhalb des Bereichsfehler

#Create constant for the number of employees. 
SIZE = 3 

#Create an array to hol the number of hours worked by each employee. 
hours = [SIZE] 

#Get the hours worked by employee 1. 
hours[0] = int(input("Enter the hours worked by employee 1: ")) 

#Get the hours worked by employee 2. 
hours[1] = int(input("Enter the hours worked by employee 2: ")) 

#Get the hours worked by employee 3. 
hours[2] = int(input("Enter the hours worked by employee 3: ")) 

#Display the values entered. 
print("The hours you entered are:") 
print(hours[0]) 
print(hours[1]) 
print(hours[2]) 
+1

Sie setzen keine Größe mit 'hours = [SIZE]', Ihre Liste hat nur einen Index – PRMoureu

+0

'[SIZE]' ist eine Liste mit 1 Elementen, deren einziges Element die Zahl 3 ist. – user2357112

Antwort

0

ein Array erstellen Python hat keine wörtliche Arrays: es Listen hat. hours = [SIZE] erstellt keine Liste mit 3 Elementen: Sie erstellt eine Liste mit 1 Element. Sie sollten append() verwenden, um Elemente zu einer Liste hinzuzufügen und nicht über das Ende des Arrays hinaus zu indizieren.

Der richtige Code in etwa so aussehen würde, Elemente in die Liste hinzuzufügen:

hours.append(int(input("Enter the hours worked by employee 1: "))) 
hours.append(int(input("Enter the hours worked by employee 2: "))) 
hours.append(int(input("Enter the hours worked by employee 3: "))) 

Aus den Kommentaren, es scheint, dass Sie Code aus einem Pseudo-Code Lehrbuch noch lernen: das ist wunderbar. Denken Sie jedoch daran, dass bestimmte Konventionen für Pseudocode oder manchmal C-ähnliche Sprachen in anderen Programmiersprachen unterschiedlich sein können. In C deklariert dies beispielsweise ein Array von 50 Zeichen mit dem Namen x.

char x[50]; 

In Python können Sie nicht die gleiche Syntax verwenden. Viel Glück.

+1

Danke. Ich lerne Programmierlogik und verwende Pseudocode, den ich versuche, in Python-Code zu übersetzen, während ich gehe. – Cornel

+1

Python hat tatsächlich Arrays https://docs.python.org/3/library/array.html –

+0

@ cricket_007 Ja, ich weiß auch, NumPy ist buchstäblich auf ihnen basiert. Aber keine literalen Arrays. Ich sollte das wahrscheinlich erwähnen. Vielen Dank. –

0

Sie scheinen eine falsche Vorstellung davon zu haben, wie Arrays in Python funktionieren. Im Wesentlichen sind zu tun, was Sie, wenn Sie

#Create constant for the number of employees. 
SIZE = 3 

#Create an array to hol the number of hours worked by each employee. 
hours = [SIZE] 

typisiert ist mit einem Elemente mit einem Wert von 3

hours = [3] 
Verwandte Themen