今更ながらに、改めて、TrueとFalseが難しい。「今どっち?」ってなります。
例えばこういうときこんがらがりますね。
【コード】
https://gist.github.com/kotoripiyopiyo/cd8ad49ae6e200c328a1e61543dda803
上半分は「空文字はFalse」のルールに基づいたもの。
not空文字がTrueになるから、実行して、空行を送ると、再度「名前を入力してください:」と聞かれます。
でも直感的には……というか、直感が働かず、「ん? ん?」ってなります。
「name == ''」と「not name」を比べると、今読んでる教科書(『退屈なことはPythonにやらせよう』)では、「not name」と書いた方が「コードが読みやすくなって良い」とされているところが、難しいです。
「name == ''」の方がわかりやすいと思うのだけど……
下半分は「0はFalse」のルールに基づいたもの。
「if num_of_guests:」と書くだけで条件が分岐されるっていうところが、まあ言われればわかるけど、素の状態でコード書いてて、フッとこの書き方になれるかというと、今のところ自信ありません。
「num_of_guest != 0:」って明示的に書いた方がわかりやすいと思うのだけど、くだんの教科書では、クールに「if num_of_guests:」とだけ書いた方がコードが読みやすくなるとのこと。
プログラマーの方の頭の中では、常にどこがTrueでどこがFalseなのか、クッキリとわかっているものなのですかね……
なんか、ものすごく手前の方で止まっていますが、果たした僕は、本当に機械学習やディープラーニングを使って面白サービスを作ることができるようになれるのでしょうか!? 諦めないのだけが自分の長所ですが、流石に道のりが遠すぎる気が……!