[過去ログ] くだすれPython(超初心者用) その44【Ruby禁止】 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
119(1): デフォルトの名無しさん [] 2019/08/04(日) 13:35:01.70 ID:kKKVz9aw(1/2) AAS
>>117117(2): デフォルトの名無しさん [sage] 2019/08/02(金) 23:38:19.91 ID:z2PJQeJ8(1) AAS
組み合わせの問題で、10個の要素を2個ずつに分ける組み合わせは
itertools,combinations(range(10), 2)
で出力できますが、10個の要素を1,2,2,5個に分ける組み合わせ
というように均等ではない個数に分ける場合、どうやればいいでしょうか?
ここでし知りたいのは組み合わせ数ではなく実際の組み合わせのパターンです
10個の要素を1,2,2,5個に分ける組み合わせ数だけでしたら
C[10,1]*C[9,2]*C[7,2]*C[5,5] で求まるのはわかりますが、itertools,combinations
のようにその実際の組み合わせパターンを出力させたいのです
よろしくお願いします
再帰なのであまりにも多い要素の組み合わせは出せないけど、これでどうでしょ
from itertools import combinations
def my_combinations(iterable, rs, tmp=None):
r, *rs2 = rs
for t in combinations(iterable, r):
tmp2 = [] if tmp is None else list(tmp[:])
tmp2.append(t)
tmp2 = tuple(tmp2)
if rs2:
lis2 = list(iterable)[:]
for i in t:
lis2.remove(i)
for r in my_combinations(lis2, rs2, tmp2):
yield r
else:
yield tmp2
if __name__ == '__main__':
for t in my_combinations(range(10), (1, 2, 2, 5)):
print(t)
147: デフォルトの名無しさん [sage] 2019/08/09(金) 21:17:05.70 ID:BfiMWPAU(1) AAS
普段遣いのアプレット用にウィンドウズ版
WSLで作業するとき用にLinux版
というか、WSLでubuntu入れれば勝手に入ってた
251(2): デフォルトの名無しさん [sage] 2019/08/23(金) 12:24:51.70 ID:s+6jWuTi(1/2) AAS
コードガールこれくしょんの問題8-4をやっているんですが、以下の回答のどこがダメなのか分からず先に進めません…;
かなり初歩的な質問で申し訳ないのですがどなたか教えていただけると助かります。
from random import randint
#1から10のランダムな整数を出力して下さい。
a=randint(1,10)
print(a)
808: デフォルトの名無しさん [sage] 2019/09/28(土) 23:06:35.70 ID:zsQiY793(2/2) AAS
>>805-807
ありがとうございます
こう書いたほうが良かったですね、すみません。
mixList=[0.01 , "aaa", -1 , 5 , 1.2 , "たすけて"]
listは組み込み関数名だったんですね
気をつけます
890: デフォルトの名無しさん [sage] 2019/10/06(日) 03:07:49.70 ID:xEniyG0f(1/2) AAS
入門書はまずiris取り上げることが多い気がする
簡単すぎてつまらんデータだけど、hello worldレベルっていうならそうだろうなって感じ
942(1): デフォルトの名無しさん [] 2019/10/13(日) 21:31:33.70 ID:oUSkq72n(1) AAS
IDLEだと表示されないね
端末からIDLEを起動すると、b.py の出力が端末に出ているのが見える
画像リンク
あと端末上で a.py を実行すると全部画面に出るけど、リダイレクトとかするとずれる
% ./a.py
a
b
c
0
%
% ./a.py | cat
b
a
c
0
%
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s