Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按升序打印出3个随机数_Python_Python 3.x - Fatal编程技术网

Python 按升序打印出3个随机数

Python 按升序打印出3个随机数,python,python-3.x,Python,Python 3.x,我一直在努力解决这个问题有一段时间了,我想知道如何做到这一点 使用random.randrange()函数生成3个介于-20和20之间的偶数整数(包括这两个整数) 确定使用min()函数生成的最小随机数和使用max()函数生成的最大随机数。通过将3个数字相加,然后从总值中减去最小数字和最大数字,确定中间数字 按升序打印出3个随机数 我知道如何生成随机数,但不知道如何将它们按升序排列并将中间数保持在20以下。也不允许使用“if”等条件语句 下面是我所做的 import random numbe

我一直在努力解决这个问题有一段时间了,我想知道如何做到这一点

  • 使用random.randrange()函数生成3个介于-20和20之间的偶数整数(包括这两个整数)

  • 确定使用min()函数生成的最小随机数和使用max()函数生成的最大随机数。通过将3个数字相加,然后从总值中减去最小数字和最大数字,确定中间数字

  • 按升序打印出3个随机数

  • 我知道如何生成随机数,但不知道如何将它们按升序排列并将中间数保持在20以下。也不允许使用“if”等条件语句

    下面是我所做的

    import random
    
    
    number1 = random.randrange(-20, 20, 2)
    number2 = random.randrange(-20,  20, 2)
    number3 = random.randrange(-20,  20, 2)
    
    smallest = min(number1, number2)
    largest = max(number1, number3)
    total = number1 + number2 + number3 - smallest - largest
    
    print("Random numbers in ascending order:", smallest, abs(total), (largest))
    
    输出应类似于:按升序排列的随机数:
    -61020


    数字可以是任意、偶数和升序。

    您应该对所有3个数字执行
    min
    max
    ,而不仅仅是其中的2个。您也不需要在
    total
    上调用
    abs
    函数:

    print('Random numbers in ascending order:', end='')
    print(sorted([number1, number2, number3]))
    
    import random
    
    number1 = random.randrange(-20, 20, 2)
    number2 = random.randrange(-20, 20, 2)
    number3 = random.randrange(-20, 20, 2)
    
    smallest = min(number1, number2, number3)
    largest = max(number1, number2, number3)
    total = number1 + number2 + number3 - smallest - largest
    print("Random numbers in random order:", number1, number2, number3)
    print("Random numbers in ascending order:", smallest, total, largest)
    
    您还可以使用列表,而不是3个重复代码的类似变量:

    import random
    
    numbers = [random.randrange(-20, 20, 2) for _ in range(3)]
    smallest = min(numbers)
    largest = max(numbers)
    total = sum(numbers) - smallest - largest
    print("Random numbers in random order:", *numbers)
    print("Random numbers in ascending order:", smallest, total, largest)
    

    “…的功能类似于”if“。不,这是一个条件语句。您的代码是正确的,请删除
    abs
    ,然后添加
    最小=最小(number1,number2,number3)
    最大=最大(number1,number2,number3)