所以我正在搞乱python类,我很难理解它,这就是我提出来的
class Forest:
def temperature (self,temperature):
self.temperature=temperature
def displayTemp (self):
return self.temperature
def saying(self):
print "This soup is %s" % self.displayTemp
first=Forest()
second=Forest()
third=Forest()
first.temperature('too cold.')
second.temperature('warm.')
third.temperature('too hot.')
temperature=input("1~10; How hot is the soup? ")
int(temperature)
if (temperature<=3):
first.saying
elif (temperature==4,5,6):
second.saying
else:
third.saying
目标是让它问"1~10; How hot is the soup? "
这样的问题然后你输入一个数字(1-3 =太冷; 4-6温暖; 7-10太热)但不是回电话回应它没有做任何事情。
我对python完全不熟悉而且我已经环顾四周但是我缺乏理解会让我更加困难,我在这里读了几件我认为可能的东西,但没有运气。
答案 0 :(得分:2)
您的代码有几个问题。
本身first.saying
只是对函数对象的引用;您需要使用括号来实际调用它:first.saying()
,second.saying()
等。您需要对self.displayTemp()
执行相同操作。
此外,int(temperature)
不会更改temperature
的值;它返回一个转换为int的 new 值。如果要替换旧值,则需要执行temperature = int(temperature)
。
temperature==4,5,6
也不会做你想要的。您需要执行4 <= temperature <= 6
。
您应该阅读the Python tutorial以熟悉Python的基础知识。