質問編集履歴
4
発生している問題を具体的に書いた
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
8
|
|
9
9
|
これを実行すると、arriveが0のときに新しい値に置き換わるはずなのですが、-1,-2…と動いてしまうことがあり、うまく実行できません。
|
10
|
+
|
11
|
+
(if文のarrive == 0 と service <= 0 が同時に起こると上記のことが起こります。)
|
10
12
|
|
11
13
|
|
12
14
|
|
3
色々な説明をコメントで追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,53 +18,47 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
def q2(num):
|
21
|
+
def q2(num):
|
22
22
|
|
23
|
-
service = np.random.exponential(3)
|
23
|
+
service = np.random.exponential(3) #平均サービス時間は3分間隔の指数分布
|
24
24
|
|
25
|
-
arrive = np.random.poisson(5)
|
25
|
+
arrive = np.random.poisson(5) #客の到着時間は5分間隔のポアソン分布
|
26
26
|
|
27
|
-
queue = 0
|
27
|
+
queue = 0 #並んでいる行列長
|
28
|
-
|
29
|
-
count = 0
|
30
28
|
|
31
29
|
|
32
30
|
|
33
31
|
for i in range(num):
|
34
32
|
|
35
|
-
service = service - 1
|
33
|
+
service = service - 1 #時間を1進める
|
36
34
|
|
37
|
-
arrive = arrive - 1
|
35
|
+
arrive = arrive - 1 #時間を1進める
|
38
36
|
|
39
37
|
|
40
38
|
|
41
|
-
if arrive == 0:
|
39
|
+
if arrive == 0: #到着が0分になったとき
|
42
40
|
|
43
|
-
|
41
|
+
queue = queue + 1 #行列長+1
|
44
42
|
|
45
|
-
queue = queue + 1
|
46
|
-
|
47
|
-
arrive = np.random.poisson(5)
|
43
|
+
arrive = np.random.poisson(5) #新しい到着時間を出す
|
48
44
|
|
49
45
|
|
50
46
|
|
51
|
-
if service <= 0:
|
47
|
+
if service <= 0: #サービス時間が負になったとき
|
52
48
|
|
53
|
-
if queue >= 1:
|
49
|
+
if queue >= 1: #行列長があるとき
|
54
50
|
|
55
|
-
queue = queue - 1
|
51
|
+
queue = queue - 1 #行列長ー1
|
56
52
|
|
57
|
-
service = np.random.exponential(3)
|
53
|
+
service = np.random.exponential(3) #新しいサービス時間
|
58
54
|
|
59
|
-
else:
|
55
|
+
else: #行列長がないとき
|
60
56
|
|
61
|
-
service = 0
|
57
|
+
service = 0 #サービス時間は0
|
62
58
|
|
63
59
|
|
64
60
|
|
65
61
|
print(arrive)
|
66
|
-
|
67
|
-
print(count)
|
68
62
|
|
69
63
|
```
|
70
64
|
|
2
インデントの変更②
test
CHANGED
File without changes
|
test
CHANGED
@@ -70,7 +70,11 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
+
```Python
|
74
|
+
|
73
75
|
q2(10000)
|
76
|
+
|
77
|
+
```
|
74
78
|
|
75
79
|
|
76
80
|
|
1
インデントを直しました。すいませんでした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,6 +11,8 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
### 該当のソースコード
|
14
|
+
|
15
|
+
```Python
|
14
16
|
|
15
17
|
import numpy as np
|
16
18
|
|
@@ -64,6 +66,8 @@
|
|
64
66
|
|
65
67
|
print(count)
|
66
68
|
|
69
|
+
```
|
70
|
+
|
67
71
|
|
68
72
|
|
69
73
|
q2(10000)
|