【发布时间】:2014-04-18 20:33:37
【问题描述】:
我想解决这个问题:
编写一个包含以下内容的类 ContestResult 的定义:
•String 类型的实例变量获胜者,初始化为空字符串。
•String 类型的实例变量 second_place,初始化为空字符串。
•String 类型的实例变量third_place,初始化为空字符串。
•一个名为 set_winner 的方法,它有一个参数,它的值分配给实例变量winner。
•一个名为 set_second_place 的方法,它有一个参数,它的值分配给实例变量 second_place 。
•一个名为 set_third_place 的方法,它有一个参数,它的值分配给实例变量third_place。
•一个名为 get_winner 的方法,它没有参数,并返回实例变量 winner 的值。
•一个名为 get_second_place 的方法,它没有参数并返回实例变量 second_place 的值。
•一个名为 get_third_place 的方法,它没有参数并返回实例变量 third_place 的值。
这是我的代码:
class ContestResult():
def __init__(self):
self.winner= ""
self.second_place= ""
self.third_place= ""
def set_winner(self,value):
self.winner= value.set_winner
def set_second_place(self,value):
self.second_place= value_set_second_place
def set_third_place(self,value):
self.third_place= value.set_third_place
def get_winner(self):
return self.winner
def get_second_place(self):
return self.second_place
def get_third_place(self):
return self.third_place
我收到此错误:
Exception occurred(<class 'AttributeError'>, AttributeError("'str' object has no attribute 'set_winner'",)
有人可以帮我解决这个问题吗?请和谢谢。
【问题讨论】:
-
错误提示 a String 没有
set_winner。 -
@user2864740 除了它完美地描述了问题? “嘿,这里出了点问题,因为你试图打电话给
str.set_winner,但它并不存在。”确实,它是一个类方法,而不是类本身,这是错误的,但这似乎很容易分裂。 -
@AdamSmith 我提供了该消息的友好翻译。出现错误是因为
set_winner应用于 a String(又名“str”)。此信息可用于追溯问题 - 主要是,where 使用了set_winner以及 为什么 将其应用于字符串? -
value.set_winner你希望它做什么?