关于python:在python3中打印2个数字之间的10个随机数

Print out 10 random numbers between 2 numbers in python3

本问题已经有最佳答案,请猛点这里访问。

你好,我需要一些关于Python编程的帮助,我目前正在用python3编程。

我有基于菜单的程序,您可以在其中执行各种操作,我目前正在尝试创建一个选项,该程序将打印出10个介于用户已经输入的2个数字之间的数字,使用简单:

  • num1=int(输入("输入您的第一个数字:")
  • num2=int(输入("输入第二个数字:")

我需要帮助处理10个数字中随机部分的函数,这些数字将在已经输入的2个数字之间打印出来。


1
2
3
4
import random
num1, num2 = 10, 100
for i in range(0,10):
    print random.randrange(num1, num2)

方法1这是在num1num2之间的10个元素的列表。

1
[random.randrange(*sorted([num1,num2])) for i in range(10)]

我为什么用sorted

random.randrange只取数的递增顺序

下面是IPython中代码的执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
In [1]: import random
In [2]: num1 = int(input("Enter your first number:"))
Enter your first number: 10
In [3]: num2 = int(input("Enter your second number:"))
Enter your second number: 100
In [4]: for rand_num in [random.randrange(*sorted([num1,num2])) for i in range(10)]:
   .....:     print rand_num
   .....:    
69
63
14
22
98
39
66
21
26
72

方法2

这里我们使用random.sample。如果range(num1,num2)有10个以上的种群,那么只有这种方法才有效。

1
random.sample(range(*sorted([num1,num2])),10)

执行示例。

1
2
In [1]: random.sample(range(1,100),10)
Out[1]: [55, 5, 91, 19, 11, 42, 37, 45, 79, 86]