回答編集履歴

3

誤字修正

2018/01/21 07:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  2.7は2020年にサポートが打ち切られる、古いバージョンです。
36
36
 
37
- 特に深い理由なく2.7をめてしまったなら、3.xに乗り換えてください。まだ間に合います。
37
+ 特に深い理由なく2.7をめてしまったなら、3.xに乗り換えてください。まだ間に合います。
38
38
 
39
39
  - **トランプの初期化の仕方が冗長**
40
40
 

2

修正

2018/01/21 07:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  from itertools import product
46
46
 
47
- tranps = [s+str(n) for s, n in product(['S', 'H', 'D', 'C'], range(1, 14))]
47
+ tranps = [s+str(n) for s, n in product(['S', 'H', 'C', 'D'], range(1, 14))]
48
48
 
49
49
  ```
50
50
 
@@ -70,6 +70,10 @@
70
70
 
71
71
 
72
72
 
73
+ 他にもint, str, max, list などを使ってしまいがちです。
74
+
75
+
76
+
73
77
  質問の仕方について
74
78
 
75
79
  ---

1

追記

2018/01/21 07:47

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -21,3 +21,65 @@
21
21
  print tranp
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ ついでに
28
+
29
+ ---
30
+
31
+ ちょっと気になったことを列挙します。
32
+
33
+ - **なぜPython2.7を用いているのか**
34
+
35
+ 2.7は2020年にサポートが打ち切られる、古いバージョンです。
36
+
37
+ 特に深い理由なく2.7を初めてしまったなら、3.xに乗り換えてください。まだ間に合います。
38
+
39
+ - **トランプの初期化の仕方が冗長**
40
+
41
+ スートとナンバーとの直積を取ればいいので、次のように書けます。
42
+
43
+ ```Python
44
+
45
+ from itertools import product
46
+
47
+ tranps = [s+str(n) for s, n in product(['S', 'H', 'D', 'C'], range(1, 14))]
48
+
49
+ ```
50
+
51
+
52
+
53
+ - **変数名にsetを用いてしまっている**
54
+
55
+ 本来のsetを隠してしまう(シャドウイング)ので、避けるべき書き方です。
56
+
57
+ ```Python
58
+
59
+ >>> set = set([1, 2, 3])
60
+
61
+ >>> set_b = set([4, 5, 6])
62
+
63
+ Traceback (most recent call last):
64
+
65
+ File "<stdin>", line 1, in <module>
66
+
67
+ TypeError: 'set' object is not callable
68
+
69
+ ```
70
+
71
+
72
+
73
+ 質問の仕方について
74
+
75
+ ---
76
+
77
+ teratailには、上記のようにコードを見やすく表示する機能があります。
78
+
79
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
80
+
81
+ 特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。
82
+
83
+
84
+
85
+ また、リンクも[このように](https://teratail.com/questions/109970)貼れますよ。いろいろ試してみてくださいね。