質問編集履歴
1
白紙化
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
投稿者により白紙化された記事
|
test
CHANGED
@@ -1,70 +1,2 @@
|
|
1
|
-
### 前提
|
2
|
-
私は先生で、Pythonで席替えシステムを作っています。
|
3
|
-
|
1
|
+
やってほしいことだけを記載した丸投げの質問だったため、投稿者自身で白紙化しました。
|
4
2
|
|
5
|
-
### 実現したいこと
|
6
|
-
|
7
|
-
関数などを使って、同じ動作のコードを短くする。
|
8
|
-
|
9
|
-
|
10
|
-
### 該当のソースコード
|
11
|
-
|
12
|
-
```python
|
13
|
-
import random
|
14
|
-
import time
|
15
|
-
boys = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s"]
|
16
|
-
girls = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","松p","q","r","s","t"]
|
17
|
-
f_b = input("前列に設定したい男子生徒の苗字を、半角スペース区切りで入力してください。(いない場合はそのままEnter) >>").split(" ")
|
18
|
-
f_g = input("前列に設定したい女子生徒の苗字を、半角スペース区切りで入力してください。(いない場合はそのままEnter) >>").split(" ")
|
19
|
-
tentative_b = 0
|
20
|
-
tentative_g = 0
|
21
|
-
random.shuffle(boys)
|
22
|
-
random.shuffle(girls)
|
23
|
-
random.shuffle(f_b)
|
24
|
-
random.shuffle(f_g)
|
25
|
-
if f_b[0] != "":
|
26
|
-
for i in range(len(f_b)):
|
27
|
-
s = boys.index(f_b[i])
|
28
|
-
boys[i], boys[s] = boys[s], boys[i]
|
29
|
-
if f_g[0] != "":
|
30
|
-
for i in range(len(f_g)):
|
31
|
-
s = girls.index(f_g[i])
|
32
|
-
girls[i], girls[s] = girls[s], girls[i]
|
33
|
-
for i in range(7):
|
34
|
-
a = []
|
35
|
-
if i <= 4:
|
36
|
-
for j in range(6):
|
37
|
-
if j % 2 == 0:
|
38
|
-
a.append(boys[tentative_b])
|
39
|
-
tentative_b += 1
|
40
|
-
else:
|
41
|
-
a.append(girls[tentative_g])
|
42
|
-
tentative_g += 1
|
43
|
-
elif i == 5:
|
44
|
-
for j in range(5):
|
45
|
-
if j <= 3:
|
46
|
-
if j % 2 == 0:
|
47
|
-
a.append(boys[tentative_b])
|
48
|
-
tentative_b += 1
|
49
|
-
else:
|
50
|
-
a.append(girls[tentative_g])
|
51
|
-
tentative_g += 1
|
52
|
-
else:
|
53
|
-
a.extend([" ", girls[tentative_g]])
|
54
|
-
else:
|
55
|
-
for j in range(4):
|
56
|
-
if j % 2 == 0:
|
57
|
-
a.append(boys[tentative_b])
|
58
|
-
tentative_b += 1
|
59
|
-
else:
|
60
|
-
a.append(girls[tentative_g])
|
61
|
-
tentative_g += 1
|
62
|
-
print(a)
|
63
|
-
time.sleep(0.5)
|
64
|
-
```
|
65
|
-
|
66
|
-
### 試したこと
|
67
|
-
def関数を作ってやってみましたが、
|
68
|
-
UnboundLocalError: local variable 'b' referenced before assignmentと出てしまいます。
|
69
|
-
|
70
|
-
|