需要缩进块 - python [重复]

问题描述 投票:0回答:3

我正处于我的第一个编程阶段,我正在尝试理解Python。

我在这段代码上得到了一个缩进块:

from random 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()

我不太清楚为什么。我缩进了“def main”,因为这是解析器显示错误的地方。现在我收到同样的消息,但没有指出特定的空间。

python function indentation program-entry-point
3个回答
1
投票

for循环的主体必须缩进。你不能将其留空。因此, def main(): 成为该主体的第一个语句,这就是解析器标记错误的地方。

现在,尝试使用虚拟语句:

for counter in range(10): pass

你可以删除你的程序,并且一次只处理几行,这很好。


0
投票
您收到错误是因为

def main

 行之前的 for 循环不包含任何指令。 python 期望那里有一个缩进块,告诉它在循环的每次传递中要做什么。
一般来说,当您发现语法错误时,最好在错误消息中报告的错误之前查找行中的实际错误。


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()

见上面的朋友

© www.soinside.com 2019 - 2024. All rights reserved.