如何修复将公里/小时转换为英里/小时的代码

2024-10-06 08:48:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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放在前面。在


Tags: selfinputmainmydeffloatareclass
3条回答

您可以有一个类,该类具有一个__init__方法,该方法以kph为单位将其存储到成员变量中,并使用__str__方法将其作为字符串返回。在

我也会建议正确的缩进和doc字符串,如果你想得到好的标记。还要记住,很多python教师都潜藏在这些网站上,所以如果你把别人提供的作为解决方案,你可能会失败。在

您应该将print命令放在my_speed()函数中,这样就可以调用它了,还可以调用Conversionmy_speed()函数。我建议您也多看看类示例,http://www.codecademy.com中有一些很好的基本示例

通常不希望在类中请求输入来设置变量。另外,您还缺少类的构造函数,在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

相关问题 更多 >