-3
我正在从名为Hello World 2nd Edition
的书中学习。我不得不写一个程序。 这是我写的:Python错误类型错误:无法连接'str'和'int'对象
class HotDog:
def __init__(self):
self.cooked_level = 0
self.cooked_string = "Raw"
self.condiments = []
def __str__(self):
msg = "hot dog"
if len(self.condiments) > 0:
msg = msg + "with"
for i in self.condiments:
msg = msg+i+", "
msg = msg.strip(", ")
msg = self.cooked_string + " " + msg +"."
return msg
def cook(self, time):
self.cooked_level=self.cooked_level+time
if self.cooked_level > 8:
self.cooked_string = "charcoal"
elif self.cooked_level > 5:
self.cooked_string = "Well-done"
elif self.cooked_level > 3:
self.cooked_level = "Medium"
else:
self.cooked_string = "raw"
def addCondiemnet(self, condiment):
self.condiments.append(condiment)
myDog = HotDog()
print myDog
print "Cooking my Hot Dog for 4 minutes...."
myDog.cook(4)
print myDog
print "Cooking hot dog for 3 more Minutes"
myDog.cook(3)
print myDog
print "What happens if I cook it for 10 more minutes?"
myDog.cook(10)
print myDog
print "Now, im going to add some stuff to my hot dog"
myDog.addComdiment("ketchup")
myDog.addComdiment("More ketchup")
myDog.addComdiment("AND More ketchup")
print myDog
如果我运行它,我得到错误信息:
Traceback (most recent call last):
File "C:\Users\Jay\Desktop\Python Programs\Chapter 1\AdvancedHOTDOG.py", line 34, in <module>
myDog.cook(3)
File "C:\Users\Jay\Desktop\Python Programs\Chapter 1\AdvancedHOTDOG.py", line 16, in cook
self.cooked_level=self.cooked_level+time
TypeError: cannot concatenate 'str' and 'int' objects
如果你知道的问题,那么请回复。
该错误信息是明确的,我想。 – vaultah 2014-11-23 11:31:32
你也在'def addCondiemnet()'中有错字,它应该是'def addCondiment()',当你把它叫做myDog.addComdiment()时,它应该是'myDog.addCondiment()'。 – 2014-11-23 12:02:59
非常感谢,对您而言可能很明显,我已经编程了一个月,并且无法发现错误。因此,thx为您的输入 – Hijinxx 2014-11-23 12:03:12