毎日眠いけど頑張る

今さらプログラミングの勉強を始める30代管理職

今日の勉強

今日はPyQを使わずにVS CODEを使用した環境作りとPysimpleGUIを使用したデスクトップアプリの作成チャレンジ

今回イメージしているのは硬さの換算表をデスクトップアプリ化すること

HRC68:HV940 みたいなリストボックスを表示するアプリを作成しようかと

もう寝る時間なので失敗談は明日まとめよう…

今日の勉強

昨日は全く分からなかった内容を一晩寝かせるとなぜか分かる現象発生

いい感じです

そして今回はファイルの入出力についてお勉強

その中で出てきたこの一文
f:id:WAKYOU:20210706232235p:plain

f:id:WAKYOU:20210706232412g:plain
まるで意味が分からんぞ!!

調べたら同じPyQユーザーであろう人がteratailで質問していました。
それによると
f:id:WAKYOU:20210706232801p:plain

f:id:WAKYOU:20210706232822p:plain
?・。・?


つまり f.write()でファイルに書き込む処理が完全に終わる前に count_file_lines()が実行されることで読み込みエラーが発生することを防ぐってこと?
シーケンサーで言うスキャンタイムの話みたいな?・。・?

そう思ってtime.sleep入れてみたけど変わんないや よく分からん
f:id:WAKYOU:20210706233525p:plain

今日の勉強

PyQの中級まで一通りこなしたので、復習を兼ねて演習問題へ手を伸ばしてみる

AmazonKindle unlimitedで見ることが出来る「Python 演習問題100問パック」から課題をつついてみたのがこれ(序盤だよ)

f:id:WAKYOU:20210705230412p:plain
FizzBuzzからの

自分の思考の順番はたしかこう

①辞書つくるんか… triple_dict = {} つくらないとな

②あっ…これじゃあ要素の数がわからないゾ… 要素の数を辞書に入れる前に調べなきゃ…

③せや!リストにほおりこんでlenで調べたろ!!

④じゃあ辞書にキーと一緒に入れるで! triple_dict[(num+1) + '番目'] = triple_dict[num]

⑤?・。・?なんかエラー出てきた…? 整数と文字列は結合出来ませんってさ

⑥str(num+1)でも出来たけど、せっかくだしf-strings使ってみるか

⑦printで出力して終わり 楽勝だったな…
f:id:WAKYOU:20210705231237p:plain


で回答がこちら
f:id:WAKYOU:20210705231402p:plain

i // 3 で要素の数を出すって算数的な発想を放棄してるのがいかにもオジサンって感じで悲しい…
いやオジサンとかじゃなくてただの実力不足か…

今日の勉強

中級クラスに入ってから特にオブジェクト指向のところでパニックになる

何を言っているのかまるでわからない。

といういか今までコードを少しずつ書いてそれを徐々に増やしていく学習スタイルだったに、課題開いた瞬間写経すらさせずに50行くらいのコードが入ってる。

これはこういうものなのか……

シーケンサーみたいに出力のON・OFFが入力画面でリアルタイムに見られれば良いのに


課題の1個がこれ
f:id:WAKYOU:20210704222932p:plain

やり方はいくらでもありそうだけど、きちんとLAST_NUMBERを活かしてコードを書かないと行けないとと思いながら書いたのがこれ
f:id:WAKYOU:20210704223011p:plain

書いているときは気づかなかったけど、これはダメな例ですね
f:id:WAKYOU:20210704223059p:plain

融通がきかないコードを書いていました。
写経よりも演習でヘルプ開きながら一生懸命書くほうがいい感じ。