皆さんコード組む時って (82レス)
皆さんコード組む時って http://medaka.5ch.net/test/read.cgi/prog/1662472770/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
36: 仕様書無しさん [sage] 2022/10/15(土) 09:36:40.69 あくまで参考にって感じだけど、decide_Avalueとcalc_scoreは俺が書くとこうなる 保有してるカードの中でAの枚数と、A以外の合計値を関数fに渡す で、repeated_combinationで、 1 or 11 の選択を総当たりで出力、そこにscoreを足す(ここで21を超えるデータも出来る) 次にdelete_ifで21以上のデータを消して 残りからmaxで最大値を得る 戻り値が数値以外なら(rubyだとnil)、21オーバーした判定 Pythonでもrubyと似たような関数あるはずだから書けると思う https://ideone.com/IryebL def f a , score [1,11].repeated_combination(a).map do |m| m.sum + score end.delete_if do|m| m > 21 end.max end list = ['A','A',9] # 21 p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum) list = ['A','A',10] # 12 p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum) オマケでテストコード https://ideone.com/ppPjbB http://medaka.5ch.net/test/read.cgi/prog/1662472770/36
37: 30 [sage] 2022/10/15(土) 17:11:33.80 >>35-36 レスありがとうございます すいません、俺の知識では実装出来ませんでした… 一応>>30にあるリンクにblackjack_3.pyをアップしたのでよろしければご覧下さい 継承でHumanクラスとComputerクラスのダブりを解消したのと、 Aの値を決めるメソッドをdecide_Avalueに一本化しました ただ10や11といったマジックナンバーは残ってしまいましたが http://medaka.5ch.net/test/read.cgi/prog/1662472770/37
70: 仕様書無しさん [sage] 2022/10/24(月) 19:02:38.57 >>36 def f(a , score) = [1,11].repeated_combination(a).map{_1.sum+score}.&([*1..21]).max 面白いロジックだから何となく短くしてみたんでメモ代わりパピコ http://medaka.5ch.net/test/read.cgi/prog/1662472770/70
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.440s*