首页 > 解决方案 > 函数和随机数

问题描述

编写一个程序,以英里和公里为单位显示十个距离当量表。请参阅示例输出。您必须通过在 main 的循环内运行函数来生成表。在每个循环周期中生成一个 10 到 60(含)的随机整数。使用后一个值作为函数的英里参数。然后该函数必须在表格中打印一行。重复:函数打印表格。在 5 个字符宽的列中以 2 位小数打印英里,在 13 个字符宽的列中以 5 位小数打印公里。

示例输出

MILES   KILOMETERS
52.00     83.68568
11.00     17.70274
40.00     64.37360
21.00     33.79614
14.00     22.53076
23.00     37.01482
48.00     77.24832
22.00     35.40548
15.00     24.14010
16.00     25.74944

这就是我已经走了多远。任何人对这个问题的任何帮助都将不胜感激。我对 python 和编码也是完全陌生的。

import random

def result(km,miles):

    CONVERSION_FACTOR = 1.61
    km = random.randrange(10,25) * CONVERSION_FACTOR
    miles = km/CONVERSION_FACTOR

    print(format(km,'13.5f'),'\t',format(miles,'5.2f'),sep='')


def main():
print ('--------------')
for num in range (10):
    result(10,50)##Want to pass these values into the
                 ##random.randrange function if possible
    


main()

标签: python

解决方案


一些东西:

  1. 为什么 result() 将 km 作为参数,然后在使用之前重新分配值?
  2. 根据Google Python Style Guide,只有全局常量应该大写。
  3. 从您发布的摘录中,在我看来,他们想要一个函数,该函数将随机生成的英里值作为参数并将其转换为公里。您的当前将公里转换为英里。

无论哪种方式,您都可以像这样传递random.randrange()给函数调用:

result(50,random.randrange(10,50))

推荐阅读