-1

Eclipse で PyDev を使用してクラスを作成しようとしていますが、Python として実行しようとするとエラーが発生します: TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'.

すべてのテキストを選択してから、ソースメニューの下に移動して「正しいインデント」を選択しようとしましたが、Eclipse でそのオプションが見つかりませんでした。

Python 3 でこの問題を解決するにはどうすればよいですか?

コードは次のとおりです( hereから転記):

class Employee:
    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    def displayCount(self):
        print("Total Employee %d") % Employee.empCount

    def displayEmployee(self):
        print ("Name:"), self.name, "Salary: ", self.salary

def main():
    emp1 = Employee("Zara", 2000)
    emp2 = Employee("Manni", 5000)
    emp1.displayEmployee()
    emp2.displayEmployee()
    print("Total Employee %d") % Employee.empCount

if __name__ == '__main__':
    main()
4

3 に答える 3

0

問題は、すべての引数を入力する前に print 関数を閉じていることです。次のようにする必要があります: print("Total Employee %d" % Employee.empCount) <-

ところで、python 3 では、print に新しい構文があり、括弧が必要になるため、次のようになります。

print ("Name:"), self.name, "Salary: ", self.salary

あなたは書く必要があります

print ("Name:", self.name, "Salary: ", self.salary)

うまくいくことを願っています

于 2013-07-24T08:16:44.417 に答える
-1

インデントの問題はありません。

インデントに 4 つではなく 3 つのスペースを使用しています。これは Python の問題ではありませんが、Eclipse は 4 つを使用する必要があると判断し、その下に波線を配置します。Eclipse で修正できない場合は、代わりに 4 つのスペースを使用してください。

于 2013-07-24T04:41:23.453 に答える