Pythonのお勉強 Part 27
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
150:デフォルトの名無しさん 08/06/17 11:19:44 yield list(r) 151:デフォルトの名無しさん 08/06/17 11:33:22 >>148 def collatz(n): yield n n = n % 2 and 3*n + 1 or n/2 >>> collatz(13).next() 13 >>> f = collatz(13) >>> f.next() 13 >>> f.next() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration >>> [x for x in collatz(13)] [13] >>149 開始位置ってなんじゃらほい サンプルとかヒントきぼん 152:151 08/06/17 11:36:36 あほだ…while抜け取るやん…orz 153:デフォルトの名無しさん 08/06/17 11:47:29 >>148 def collatz(n): while n > 1: yield n n = n % 2 and 3*n + 1 or n/2 >>> f = collatz(13) >>> f.next() 13 >>> f.next() 40 >>> [x for x in f] [20, 10, 5, 16, 8, 4, 2] return [リスト] っぽいけど操作すると要素が消費されてくのね… 部分リストを、返せば計算過程が [[13],[13,40],[13,40,20],[13,40,20,10],…] >>> t_colltz(13) 13 13 -> 40 13 -> 40 -> 20 13 -> 40 -> 20 -> 10 … 便利?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4728日前に更新/112 KB
担当:undef