我的第一个编程问题,我正在尝试理解Python。
我在这段代码上得到了一个缩进块: 来自随机导入*
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",因为解析器显示错误的地方。现在我收到相同的消息,但没有指出特定的空间。
答案 0 :(得分:1)
for 循环的主体必须缩进。你不能把它留空。因此, def main():成为该主体的第一个语句,以及解析器标记错误的那个语句。
目前,请尝试使用虚拟语句:
for counter in range(10):
pass
你很好地剔除了你的程序,并且一次工作几行。
答案 1 :(得分:0)
您收到错误,因为def main
行之前的for循环不包含任何指令。 python期望在那里有一个缩进块'告诉它在循环的每次传递中做什么。
一般情况下,当您遇到语法错误时,最好在错误消息中报告的行之前查找行上的实际错误。
答案 2 :(得分: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()

见上面的好友