回答編集履歴

2

誤字

2019/01/25 23:27

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- True を返す城ジェンを or や and でつなげて
49
+ True を返す条件を or や and でつなげて
50
50
 
51
51
  return True と Return False が それぞれ 1 箇所だけにすることも可能ですね。
52
52
 

1

追記

2019/01/25 23:27

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -53,3 +53,39 @@
53
53
 
54
54
 
55
55
  数字 * 100 +スーツの数 でカードを点数化すれば、その点数の比較をするだけで済ますこともできそうです。
56
+
57
+
58
+
59
+ 質問文にあるコードの最適化を進めていくと
60
+
61
+ ```python3
62
+
63
+ if (self.value > c2.value) or (self.value == c2.value and self.suit > c2.suit):
64
+
65
+ return True
66
+
67
+ return False
68
+
69
+ ```
70
+
71
+
72
+
73
+ となります。(reutrn True か return False でメソッドが終了する)
74
+
75
+
76
+
77
+ でも つぎのように
78
+
79
+ ```python3
80
+
81
+ if self.value == c2.value:
82
+
83
+ return self.value > c2.value
84
+
85
+ return self.suit > c2.suit
86
+
87
+ ```
88
+
89
+
90
+
91
+ と、return スーツの比較結果 か return 数字の比較結果 でメソッドが終了するのも良いかもしれません。