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