② 主程序中循环调用10000次MyRandom(1,100),求随机数分布情况。如: 1:102次 2:95次 3:98次 … 100:94次 并输出随机数落在1-50区间和51-100区间的次数。如: 1-50: 5010次 51-100: 4990次
时间: 2024-03-24 10:38:57 浏览: 10
好的,我明白了,这是一个关于随机数分布的问题。我可以为您编写一个程序来模拟这个过程,然后输出结果。以下是一个可能的解决方案:
```python
import random
def MyRandom(start, end):
return random.randint(start, end)
freq = [0] * 100
for i in range(10000):
r = MyRandom(1, 100)
freq[r-1] += 1
for i in range(100):
print("{}: {}".format(i+1, freq[i]))
count1 = 0
count2 = 0
for i in range(10000):
r = MyRandom(1, 100)
if r <= 50:
count1 += 1
else:
count2 += 1
print("1-50: {}\n51-100: {}".format(count1, count2))
```
输出结果应该类似于:
```
1: 98
2: 95
3: 99
4: 100
5: 102
6: 103
7: 91
8: 89
9: 96
10: 96
11: 95
12: 89
13: 99
14: 105
15: 85
16: 100
17: 90
18: 105
19: 89
20: 103
21: 96
22: 88
23: 104
24: 97
25: 92
26: 98
27: 98
28: 81
29: 107
30: 100
31: 101
32: 88
33: 98
34: 108
35: 99
36: 91
37: 96
38: 86
39: 90
40: 112
41: 107
42: 110
43: 101
44: 103
45: 92
46: 102
47: 102
48: 94
49: 97
50: 93
51: 98
52: 110
53: 93
54: 111
55: 91
56: 95
57: 96
58: 110
59: 110
60: 92
61: 96
62: 86
63: 106
64: 100
65: 94
66: 99
67: 93
68: 94
69: 92
70: 105
71: 92
72: 94
73: 98
74: 109
75: 97
76: 88
77: 106
78: 94
79: 101
80: 100
81: 98
82: 103
83: 101
84: 95
85: 88
86: 96
87: 100
88: 98
89: 99
90: 88
91: 107
92: 92
93: 93
94: 97
95: 94
96: 99
97: 103
98: 98
99: 93
100: 95
1-50: 4965
51-100: 5035
```
其中,前100行分别表示随机数1-100的出现次数,最后两行表示随机数落在1-50区间和51-100区间的次数。