首页 > 解决方案 > 按升序打印出 3 个随机数

问题描述

我一直在努力解决这个问题,并且想知道如何做到这一点。

  1. 使用 random.randrange() 函数生成 3 个介于 -20 和 20(均包含)之间的偶数。

  2. 确定使用 min() 函数生成的最小随机数和使用 max() 函数生成的最大随机数。通过合计 3 个数字然后从总值中减去最小数字和最大数字来确定中间数字。

  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))

输出应如下所示: 升序的随机数:-6 10 20

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

标签: pythonpython-3.x

解决方案


print('Random numbers in ascending order:', end='')
print(sorted([number1, number2, number3]))

推荐阅读