Python:将英里转换为公里

2024-10-01 09:32:43 发布

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

我是一名统计学专业的本科生,正在尝试学习一些编程方面的知识。我买了一本python的书,却被一个问题缠住了。在

本章介绍For循环和前面介绍的函数。在

问题-编写一个程序disttable.py,打印出100英里到1500英里之间距离的英里到公里转换表,每100英里一次。编写一个函数来进行转换。一英里约1.609公里。在

到目前为止我的代码-

def mile(x): 
        return 1.609 * x
def main():
    for n in range(100,100,1501):
        print(n,miles(n))

当我调用main()时,什么都没有发生。没有错误消息。在

我试图将for循环放在main()内,但是,当我将for循环移到main()中时,我不确定如何在main()内定义局部变量,因此我得到一条错误消息,指出未定义局部变量。在


Tags: 函数代码py程序消息距离for专业
3条回答

您使用range不正确。documentation上写着:

range(start, stop[, step])

从100到100,步长为1501,不会给你任何值,所以你的范围是空的,循环永远不会运行。你可能是说range(100, 1501, 100)。在

这是因为你的步幅是1501而不是100:

def mile(x): 
        return 1.609 * x
def main():
    for n in range(100,1501,100):
        print(n,mile(n))

列表理解现在是最Python式的方法

def mile(x):
     return 1.6*x 
def main():
     print [(x, mile(x)) for x in range(100,1501,100)]

结果是他们懒散地评估,对于大的列表意味着更少的内存压力。在

相关问题 更多 >