「if not」は初心者には理解に時間がかかる(Python)


AtCoderに挑戦中です。

ただ毎週土曜日に問題を解くだけでは成長しないので、本(アルゴリズム的思考力が身につく!プログラミングコンテストAtCoder入門)を買って勉強してます。

ABC081 B

ABC081 B「Shift Only」がなんかむつかしいです。

本にも「このような抽象的な問題を見ると、何をしたらよいかわからなくなる方も多いかも知れません。」とあって、「そうそう、そうなんです!」と思ってしまいました。

本には「操作ができなくなるまで実際に操作を繰り返す」とも書いてあるのですが、私はこういう系が苦手かもしれません。

if notが理解しづらい

中でも「if not」が理解がしづらいです。

理解はできるのですが、理解がしづらいのです。

ifの後はbool型のTrueかFalseになっているのが感覚的にわかっていないと思います、、慣れればいいのかな。

ifはすぐに理解できるのに。。。

ド・モルガンの法則

ちなみにですが、本を見てたら「ド・モルガンの法則」があった。

not A and not B ⇔ not(A or B)

not A or not B ⇔ not(A and B)

これが成り立つとのことです。

今はこの法則が役に立つ場面は思いつかいのですが、将来的には使うようになるのかな。