SUPPORT UKRAINE
- Your indifference to the act of cruelty can thrive rogue nations like Russia -
タグ
challenge
を含むブログ一覧
【 Fluent Python + coding challenge 】List の List を作るときには要注意!!
Published 2020年11月23日17:16 by mootaro23
問題 ( 制限時間: 5 分 ):
[1] * 3 という式で [1, 1, 1] というリストを取得することが出来ます。
では、[[1, 1, 1], [1, 1, 1], [1, 1, 1]] という list の list を取得するための式を記述してください。
簡単ですね。
[1] * 3 を3つ含むリストを作ればいいんです。
nest_…
【Python 雑談・雑学 + coding challenge】Unicode の正規化処理 ( normalization ) を利用して、diacritical marks ( 発音区別符号 ) を取り除こう! テキスト解析の前処理としても重要です!
Published 2020年9月24日21:35 by mootaro23
問題 ( 制限時間: 45 分 ):
私の元にこんな内容のファイルが送られてきました (ファイル名は 'greek_str.txt' とします)。
δοκῶ μοι περὶ ὧν πυνθάνεσθε οὐκ ἀμελέτητος εἶναι. καὶ γὰρ ἐτύγχανον
πρῴην εἰς ἄστυ οἴκοθεν ἀνιὼν Φαληρόθεν· τῶν οὖ…
【Python 雑談・雑学 + coding challenge】文字列中の数字を抜き出して桁区切りをつけよう! 正規表現 (regular expression ) を使うと「えっ!?」っていうくらい簡単ですょ。lookahead と negative lookahead を使います。
Published 2020年9月19日21:33 by mootaro23
問題 ( 制限時間: 40 分 ):
s = 'The numbers are 1234567890 and 98'
上のような文字列があった場合、この中の数字に桁区切りをつけましょう。
この場合の出力結果は以下のようになります。
# The numbers are 1,234,567,890 and 98
注意:
文字列から数字部分を抜き…
【Python 雑談・雑学 + coding challenge】itertools モジュールの combinations() メソッドを自分で実装してみよう!
Published 2020年9月1日17:01 by mootaro23
さて、itertools モジュールの combinations() メソッドを使ったことがありますか?
シーケンス要素の「組み合わせ」を返してくれます。
from itertools import combinations
nums = [0, 1, 2, 3]
print(list(combinations(nums, 2)))
# [(0, 1…
【Python 雑談・雑学 + coding challenge】sorted 組み込み関数の key パラメータをうまく使って、カスタムオブジェクトを簡単にソートしよう! __getitem__、__len__ 特殊関数 ( special methods, dunder methods ) を実装すれば立派なシーケンス ( sequence ) です
Published 2020年8月29日7:09 by mootaro23
唐突に coding challenge です!
問題: トランプをソート ( sort ) してください。 ( 制限時間: 25 分 )
ナナさんはトランプを 1 組持っています ( Deck クラスオブジェクト )。
妹にグチャグチャにシャッフルされてしまって途方に暮れています。
どうぞカードをソートしてあげてください。
カードの rank …
【 Effective Python, 2nd Edition + coding challenge 】プログラムを並列処理 ( concurrency ) パターンへ移行するタイミングとツールを考えるシリーズ 第2回 - Conway's Game of Life coding challenge の実装例と課題、の巻
Published 2020年8月26日19:04 by mootaro23
今回は、前回 の Conway's Game of Life の実装を追っていきながら、並行処理 ( concurrency ) へ向けた課題を検討したいと思います。
まずは前回の Conway's Game of Life coding challenge の実装例を...
グリッド ( grid ) を象徴するクラスは前回示したとおりです。
Conway's G…
【 Effective Python, 2nd Edition + coding challenge 】プログラム開発のどの段階で並列処理 ( concurrency ) が必要になるのだろう? そのときどのようにリファクタリング ( refactoring ) していけばいいのだろう? を考えてみるシリーズ ( のはず ) 第1回
Published 2020年8月25日10:18 by mootaro23
プログラムが大きくなってくれば、必然的に、その複雑さも増していきます。
コードの明快さ、テストのし易さ、効率性を維持しながらプログラムを大きくしていくのは、プログラム開発における最も難しい課題のひとつであることは疑う余地がありません。
またプログラムの拡大に伴う変更の中でも、シングルスレッドプログラムのマルチスレッドプログラムへの移行はもっとも困難を伴うもののひとつでしょう。…