python在冒号处显示语法错误_python冒号错误语法无效

问题1

看看错误:File "", line 3

def__init__(self,name):

^

SyntaxError: invalid syntax

在def和__init__之间应该有一个空格,因此__init__函数的定义应该是:

^{pr2}$

问题2

else语句不采用if或{}do之类的表达式,因此会导致以下语法错误:File "", line 12

else(food=="mondongo"):

^

SyntaxError: invalid syntax

else表示其他所有内容,因此如果您希望它只适用于“mondongo”,则应该在那里使用另一个elif。在

问题3

函数eat在__init__函数内定义,导致: in ()

> 1 p.eat('leche')

AttributeError: Personaje instance has no attribute 'eat'

如果取消插入函数(向左移动4个空格),则eat将在类中定义,而不是在init函数中定义。所以基本结构应该这样缩进:class Personaje:

def __init__(...):

pass

def eat(...):

pass

问题4

未将Personaje名称设置为__init__函数中指定的名称。如果您希望默认名称为pepe,并键入warrior,我建议您将init函数改为如下所示:def __init__(self, name="pepe", type="warrior"):

self.name = name

self.type = type

self.health = 100

您的最后一个Personaje类现在应该如下所示:class Personaje:

def __init__(self, name="pepe",type="warrior"):

self.name = name

self.type = type

self.health = 100

def eat(self, food):

if(food=="manzana"):

self.health -= 10

elif(food=="leche"):

self.health += 5

else:

self.health += int(0.0001)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值