【问题标题】:How to generate a random floating number in python 3如何在python 3中生成随机浮点数
【发布时间】:2021-03-09 09:16:49
【问题描述】:

我在 python 3 中定义了一个函数,它以浮点数作为参数并将其四舍五入到小数点后 2 位。所以为了测试我的程序,我想生成 10 个介于 -1000 到 1000 之间的随机浮点数并检查输出

我希望我的程序以下列方式工作:

    def precision(floating_num):
        floating_num *= 1000
        floating_num = int(floating_num)
        digit = floating_num % 10
        if digit >= 5:
            floating_num += 10 - digit
        else:
            floating_num -= digit
        floating_num = floating_num / 1000
        print('Output:',floating_num)
    
    for i in range(0,10,1):
        floating_num = '''random floating number in the range -1000 to 1000'''
        print('Input:',floating_num)
        precision(floating_num)

附: : 我正在编辑我的答案,以便你们看看这个函数。

【问题讨论】:

    标签: python python-3.x random


    【解决方案1】:

    试试这个可以告诉我它是否符合你的标准:

    import random
    def precision(floating_num):
        floating_num = round(floating_num,2)
        return floating_num
    
    for i in range(0,10,1):
        floating_num = random.uniform(-1000,1000)
        output = precision(floating_num)
        print('Input: ',floating_num)
        print('Output: ',output)
    

    正如您在 cmets 中要求的那样:

    import random
    def precision(floating_num):
        floating_num = str(floating_num)
        lindex = 0
        index = floating_num.index(".")+1
        floating_num = float(floating_num[0:index+2])
            
        return floating_num
    
    for i in range(0,10,1):
        floating_num = random.uniform(-1000,1000)
        output = precision(floating_num)
        print('Input: ',floating_num)
        print('Output: ',output)
    
    

    【讨论】:

    • 这个效果很好,顺便说一句,我的老师特别要求我不要使用圆形功能,但我认为我的代码有点长,你有什么想法如何在不使用圆形功能的情况下将其修剪一下?
    • 让我看看那个
    • 好的,现在测试一下。
    猜你喜欢
    • 2021-11-12
    • 2012-11-04
    • 2023-01-03
    • 2010-10-15
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多