問題
次のコードを実行した時の出力として正しいものは 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
よかったらフォローしてください!
以上です。
コメント