class conversion:
def main(self):
kmh = float(input("How many kmh are you going?"))
def my_speed(kmh):
mph = kmh * .621371
print "You are going", round(mph), "miles per hour."
Conversion = converstion()
Conversion.main()
#check with "my_speed(kmh)"
当我添加类时,无法弄清楚代码出了什么问题,它说我的速度没有定义,但我把def放在它之前。
答案 0 :(得分:1)
您通常不希望在类中请求输入来设置变量。此外,您缺少类的构造函数,它在python中是__init__
。所有类都应该在Python中使用该方法
class conversion:
def __init__(self, k):
self.kmh = k
self.mph = 0
def __str__(self):
return "You are going {0} miles per hour.".format(self.mph)
def convert_kmh_to_mph(self):
self.mph = round(self.kmh * .621371)
kmh = float(input("How many kmh are you going?"))
c = conversion(kmh)
c.convert_kmh_to_mph()
print c
答案 1 :(得分:0)
您应该将print
命令放在my_speed()
函数中,以便调用它,也可以调用my_speed()
的{{1}}函数。我建议在课堂上再看一些例子,在http://www.codecademy.com有一些很好的基本例子
答案 2 :(得分:0)
你可以拥有一个__init__
方法的类,该方法以kph的速度运行,并以mph的形式存储到成员变量,并使用__str__
方法将其作为字符串返回。
如果您想获得好成绩,我还建议您使用正确的缩进和doc字符串。还记得许多python老师潜伏在这些网站上,所以如果你把其他人提供的解决方案作为解决方案,你可能会失败。