2016/11/09

[py]範囲の条件は連続して書ける

値が、1~16の間だけ別の処理をしようとした。

if (1 <= val) and (val <= 16):
    ...

しかし、pyCharmが警告を出してくる。
ちゃんと&&じゃなくてandを使ってるし、なぜ?

ま、まさか。。。

if 1 <= val <= 16:
    ...

おお!
こんな書き方ができるんだ!
けっこう衝撃的でした。

 

高校の時だったと思うけど、丸括弧が値を含まない、角括弧が値を含む、という条件式の書き方があったと思う。
もし1より大きくて16以下だったら、val=(1, 16]、というような書き方だ。
手元に教科書がないのだけど、あの表現方法は何だったのだろう?

不等号 - Wikipedia
区間 (数学) - Wikipedia

区間を表すのに使われると書かれていた。
どちらかというと、集合論の使い方になるのか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。