くっそサボった。
いやサボったって言うレベルでは・・・
まあ色々とありましてサボってしまいました。
(富士急ハイランド行ったり・東京で飲んだり・就活したり)
(10月から就職が決まった)
1週間くらいはPCがない環境で生活していました。。。
その間PyQじゃなくてネットワークスペシャリストの勉強していました。
電車の中でマスタリングTCP/IP読んだりネスペシリーズの本を読んだり過去問をやったりしていました。
お陰でで午前Ⅱは問題文の先頭5文字で解答が出てくるようになりました(何か違う)
これから
ネスペ試験まで後70日位なのでそちらをメインに勉強しようと思います。
でもお金ももったいないので1ヶ月経ったらPyQは解約しようと思っています。
(それまでにはなんとか全部ヤりきりたい)
が・ん・ば・る・ぞ!
PyQ 5日目
備忘録
・タプルのアンパック
display_size = (360, 640)
width, height = display_size
widthが360,heightが640になる
・.format(*タプルorリスト名)と指定すると、要素を一つづつ書いたのと同じになる。
d('a', 'b', 'c')があったとすると
.format(a, b, c)
.format(d[0],d[1],d[2])
.format(*d)
全て同じ
・.join()は結合。
','.join(変数とか)と書くと','を基準に結合する
・先頭から始まる文字の検索
row.startswith('文字')
row[:2] == '文字'
row.find('文字') == 0
全て同じ
今日出したエラー
その1.
File "reservation_2.py", line 5
if row.startswith('山田'):
^
IndentationError: expected an indented block
インデントおかしいですよお兄さん。的なやつ
言われた通りに5行目を見るとif文の位置が微妙におかしいですね(´・ω・`)
と言う訳で修正。
本日の進捗状況
Score
PyQ 4日目終了
本日のハマった所
1.時刻の比較演算がわからなかった
↑の7行目。
if 6 <= now.hour <14:
どうやって比較するのかわからず初めて解答をチラ見。
now.hourを使う事が出て来ないでdatetime.now()で比較してみたり、
datetime.time()で自分で時刻生成しようとしてみたりしたり、、、
2.ファイル書き込み後の改行
問題的にはこんな感じ。
ほんで初期画面がこんな感じ。
それでとりあえずこんな感じに書き換え。
これでオッケーだろ・・・と思って判定したらNG(´・ω・`)
output/working_days.logを見たら下の様になっており、改行されていない。
2016-07-112016-07-122016-07-132016-07-142016-07-15
f.write()って改行されないんだーなんて思いつつ下記のように修正したらエラー(´・ω・`)
エラー内容
File "working_days.py", line 8
f.write(work'\n')
^
SyntaxError: invalid syntax
あぁ・・・構文エラーね。
間違えて本当にすいませんでした。氏ね
と思いつつ変更してOKを貰いました。
因みにPyQさんの解答は
f.write(work)
f.write()
見たいな形でf.write()で改行していました(´・ω・`)どっちが良いのかな?
3.ファイルの書き込み
これは1時間位ハマった。。。
input/books.csvは1,500行程度。
正解のoutput/book_python.csvは189行。
問題
自分の解答
一見良さそうだけどこれが厄介でした・・・
初回だとこれでもオッケーなのだけど1行目に何か別のデータが有るとこれじゃダメ。
出力ファイルを見て「あーでもないこーでもない」自室で迷うこと1時間程。
とりあえずファイルを消そうということに落ち着いた()
それで出来たのが↓のコード。
はい。
我ながらksコードだと思います(´・ω・`)ww
因みに最初のコードを初見で入力し判定するとOKになります。
(何回コードを実行してもOKです)
つまり'output/book_python.csv'が永遠と増えていく。
正答判定をしているっぽいコードを見たらどうやら188行以上だったらOKにするみたいです。
ちなみに模範
リストに追加してそれを一つづつ取り出して書き込んでますね(´・ω・`)w
備忘録
・with open()のモード
r: 読み込み専用。省略可能(これまでの
open()
はすべて読み込み専用です)w: 書き込みするときに指定。ファイルが存在しない場合、新しいファイルが作られる。
x: ファイルが存在しない場合のみ、ファイルを作成し、書き込む。ファイルが存在する場合は何もしない。
a: 末尾に書き込み。ファイルが存在しない場合はファイルを作成し、書き込む。
・ファイル書き込み時は.write()で改行出来る
・コードの読みやすさ
自分の書いたコード。(実行速度0.35秒くらい)
模範解答コード。(実行速度0.15秒くらい)
毎度毎度.strftimeと.strptimeで変換している分遅くなっているのかなー?
模範解答の方が圧倒的に読みやすいな。。。
なるべくコメント入れて(自分でも)読みやすいコードになるように心がけよう。
気になった点
その1
出力が短いと動作の速度が気にならなかったけど、
出力が長いコードを試すと遅い。。。(処理に10数秒位かかる時も有り。)
動作を確認したい時にprintとかするとキツイ時がある。(breakで抜ければ良いんだけど)
その2
総合演習でいきなり知らないものが出てきたww
print("{}: {}".format(key, value)
.formatって何だよ(´・ω・`)ww
ちょっとコードの雰囲気が違うから別の人が作ったのかな?(´・ω・`)
本日の進捗状況
祝!Pythonはじめの一歩終了(・∀・)
4日目にして終了。
Score
PyQ 3日目終了
あなた二日間サボりましたね??
はい。
その通りです。
本当に心から反省しています。
全国の皆さん申し訳ございません(2017/07/21現在アクセス解析だと自分しかアクセスしていない)
少し言い訳をさせてもらいますと、昨日面接を受けに東京まで行ったのですが、
その準備に大分時間が掛かってしまったのです・・・お陰で2次面接に行けることになりました。
というわけで2日ぶりのPyQやりますよ!
やりますよ!は良いのですが、早速軽くハマりました(・∀・)ww
1.下記のエラーが出た。
SyntaxError: unexpected EOF while parsing
まあ普通にググれば出てくるのですが単純に17行目で閉じ括弧を忘れました。
2.直してこれは勝つる!と思って再度実行したら下記のエラーが・・・
Traceback (most recent call last):
File "3.py", line 14, in <module>
day = datetime.strptime(row, '%Y-%m-%d')
File "/usr/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib/python3.6/_strptime.py", line 365, in _strptime
data_string[found.end():])
ValueError: unconverted data remains:
未変換のデータがある??
まあ14行目でPythonさん怒っているみたいなのでとりあえず
14行目で一度dayをprintしてみることに。。。
そうしたらご丁寧に改行してあるじゃないですが。
そりゃPythonさんも怒りますよ(´・ω・`)
ということでrowに.rstrip()をつけて綺麗にしてあげたら意図した通りに動いてくれました。
全然進んでいないけど寝るお( ^ω^)
正直今日も朝から電車で3時間かけて帰ってきてから色々な所を回って申請とかしていたので疲れています。
今日たくさん寝て明日はたくさんやりますので・・・お許しを~
本日の成果↓
Score
PyQ 1日目終了
とりあえず写経してみた
PyQのスタイルとしてとりあえず「写経→学習」見たいな感じ。
レイアウト的には↓のような感じ。
↑画面が左と右に分割されていて真ん中にカーソルを合わせると自由に大きさがかえられる。↑
↓右上の実行ボタンを押すと画面右に入力されたコードの出力が下に表示される。↓
実際に使ってみて
とりあえず今のところは特に困ったことは無い。
分からないことがあっても「http://docs.pyq.jp/index.html」を見れば大体の問題は解決するし、
まず出てきたことを組み合わせれば出来るので。。。(今のところ)
あえて上げるとするならエラーが発生した際にプラスアルファーで解説が入ると嬉しいかも。(まあググれば大抵解決する)
どんだけ進んだ?
Pythonはじめの一歩
・print()、変数
・計算、if文
・list、for文
以上の3つのセクションと辞書の途中まで。
(終わると右上に旗が立つのがGood!)
「90日でプログラマーに」という見出しに釣られて
変な人のブログを見ていたらこんなサービスを紹介していた。
ちょうど無職でIT関係の職を探していたのだけど未経験だし就職先どうしようかな~
なんて悩んでいた夏の暑い日に見つけてしまったのだ。
さ・ら・に
「90日間でプログラマーに」なんて見出しが!!!
このタイトルを見た瞬間に私は思った。
くぁwせdrftgyふじこlp;@:「」
えっと・・・80+20+30+20=ひゃくごじゅうかな?
つまり150時間勉強すればプログラマーになれる!!!!(勝利確実)
無職だし1日10時間やれば15日♪(おんぷっぷ)
(自分でも天才的なひらめきをしたと思う)
というわけで勢いだけでPyQやろうと決意
しかも乞食体質の私としては2,980円/月のサービスだが下記の文言が・・・
つまり、15日で全部終了させると50%OFFの1,490円!
言い換えるならば、半額・반값・5折!!!!
全世界の皆さまが大好きな言葉だと思います。
総括
がんばるぞ(小並感)