Python缩进问题?

2024-04-19 04:31:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python很陌生。这是我第一次在python中使用类。当我尝试运行这个脚本时,我得到

IndentationError: expected an indented block

这是怎么回事?在

import random

class Individual:
    alleles = (0,1)
    length = 5
    string = ""

    def __init__(self):
        #some constructor work, here.

    def evaluate(self):
        #some stuff here.

    def mutate(self, gene):
        #mutate the given gene.

    def onePointCrossover(self, partner):
        #at some random point, crossover.

    def twoPointCrossover(self, partner):
        #at two random(?) points, crossover.

class World:
    def __init__(self):
        #stuff.

    def buildPopulation(self):
        #stuff.
        for individual in self.population():
            for i in range(0, individual.length):
                print random.random()


    def display(self):
        #print some output stuff.

if __name__ == '__main__':
    print "hi there"

Tags: selfpartnerhereinitdefrandomsomelength
3条回答

所有这些方法都只包含一个注释。在

例如,要修复它,请这样做

def twoPointCrossover(self, partner):
        #at two random(?) points, crossover.
        pass

注释不算作可编译语句,因此有一堆空块。这就是为什么它会给你一个缩进错误。在

{1}你什么都不需要做,你只需要插入一个类来说明你什么都不需要做。在

是这样的:

class Individual:
    alleles = (0,1)
    length = 5
    string = ""

    def __init__(self):
        #some constructor work, here.
        pass

    def evaluate(self):
        #some stuff here.
        pass
    ...

意外的缩进消息是因为python在方法定义后面寻找缩进语句。在

如果您使用以:结尾的内容,希望有一个缩进的块,但是您没有任何要放在那里的东西(除了注释),那么您需要使用pass。在

例如

def doNothing(self):
    pass

相关问题 更多 >