2017-04-22 3 views
0

Ich bin in meiner ersten Programmierung Cass und ich versuche Python zu verstehen.Erwartet einen Einzug Block - Python

Ich habe einen Einzug Block auf diesem Code bekommen: aus zufälligen import *

def FillStudentsNames(): 

    studentNames = [] 
    for studentNames in range(1,11): 
     user_input = input("What is the students name? : ") 
     print(user_input) 


def FillStudentsGrades(): 
     studentGrades =[] 
     for studentGrades in range (1,11): 
      grade = randint(1,100) 
      print(grade) 

     return studentGrades 


def ShowData(studentNames, studentGrades): 
    counter = 0 
    studentNames=[] 
    studentGrades=[] 
    for counter in range(0,10): 

    def main(): 
    FillStudentsNames = StdNames 

    main() 

und ich bin mir nicht wirklich sicher, warum. Ich habe das "def main" eingerückt, weil der Parser den Fehler angezeigt hat. Jetzt bekomme ich die gleiche Nachricht, aber keinen bestimmten Raum.

Antwort

0

Sie haben den Fehler, weil die for-Schleife direkt vor der def main Zeile enthält keine Anweisungen. Python erwartet einen eingerückten Block, der genau sagt, was in jedem Durchlauf der Schleife zu tun ist. im Allgemeinen, wenn Sie Syntaxfehler können, ist es gute Praxis, nach dem tatsächlichen Fehler in der Zeile vor dem in der Fehlermeldung gemeldet zu suchen.

+0

Danke Jungs, ich schätze es sehr, Feedback! – Leavingtheecstasy

1

Der Körper einer für Schleife muss eingerückt werden. Sie können es nicht leer lassen. Daher wird def main(): die erste Anweisung dieses Körpers, und das ist, wo der Parser den Fehler kennzeichnet.

Vorerst versuchen, die Dummy-Anweisung:

for counter in range(10): 
    pass 

Es ist gut, dass Sie Ihr Programm sind Anstoßen aus, und ein paar Zeilen zu einem Zeitpunkt, zu arbeiten.

0

def FillStudentsNames(): 
 

 
    studentNames = [] 
 
    for studentNames in range(1,11): 
 
     user_input = input("What is the students name? : ") 
 
     print(user_input) 
 

 

 

 

 

 

 

 

 

 

 

 
def FillStudentsGrades(): 
 
     studentGrades =[] 
 
     for studentGrades in range (1,11): 
 
      grade = randint(1,100) 
 
      print(grade) 
 

 
     return studentGrades 
 

 

 

 

 

 
def ShowData(studentNames, studentGrades): 
 
    counter = 0 
 
    studentNames=[] 
 
    studentGrades=[] 
 
    for counter in range(0,10): 
 
     # do something down otherwise main would be assumed to be part of for 
 
     i = 2 
 

 

 

 

 

 
def main(): 
 
    FillStudentsNames = StdNames 
 

 

 

 
main()

Siehe oben Buddy

+0

Vielen Dank! – Leavingtheecstasy

Verwandte Themen