問題
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか?

解答
正解は。。。
正解は A の
True
False
Trueです。
解説
文字列の比較の問題です。
1つ目の"A" < "a"はTrueになります。
これは各文字の Unicode を比較しています。
(以下全て、Unicode は10進数で表記します。)
"A"の Unicode は65、"a"は97なので、"A" < "a"は65 < 97となりTrueになります。
2つ目は、"1"の Unicode は49なので、"A" < "1"は65 < 49となり、Falseになります。
最後は"1"と"1.0"の比較ですが、2文字以上の文字列の場合、先頭(左)から順番に比較し、異なる文字が出てきた時点で比較されます。
"1" < "1.0"の場合、1文字目はどちらも"1"、2文字目は左辺は無し、右辺は"."と異なるので2文字目で比較されます。
文字無しは0として扱われ、"."の Unicode は46なので、"1" < "1.0"は0 < 46となり、Trueとなります。
Unicode を覚えている人なんていないと思いますが、ネットで検索すればすぐ出てきますし、ord()関数を使って確認することもできます。
Google Colaboratory
下記リンクからアクセスして、Google Colaboratory 上で実際にコードを実行して、結果を確認していただけます。
おわりに
X で Python クイズを配信しています。
#Pythonクイズ
— Taklog (@taklog_info) September 29, 2023
No.12
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか? #Python #pythonprogramming pic.twitter.com/jOX7RxY8to
よかったらフォローしてください!
以上です。



コメント