次のコードがTrue、False、Trueの結果をもたらす理由を理解できません。文字列と数値の比較 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
私は第一と第三のコードを理解するが、なぜprint("3" < "10")
はTrue
応答を与えるものではありません。 comparison操作上のPythonのドキュメントから
おかげ
次のコードがTrue、False、Trueの結果をもたらす理由を理解できません。文字列と数値の比較 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
私は第一と第三のコードを理解するが、なぜprint("3" < "10")
はTrue
応答を与えるものではありません。 comparison操作上のPythonのドキュメントから
おかげ
:
文字列は、その文字の数値当量(組み込み関数ORDの結果を())を使用して辞書と比較されます。
文字比較は最初の文字から始まり、文字の相違が見つかるまで比較される文字列をステップします。
あなたの第二文があるためFalse
を返します。
ord("3") > ord ("1")
提案のリンクはあなたの精巧な答えを与えるだろう。しかし、私はあなたがプログラミングを始めていると仮定しているので、私は非常に簡単な方法で説明しようとしています。
"ab"<"bc"
"30"<"400"
これを想像してみて:
は['a', 'b'] <['b', 'c']
['3', '0'] <['1', '0', '0']
今の比較は、両方のリストの最初の要素の上に作られており、場合にのみ、次の要素に移動しますが、書き込みが開始するとすぐとして文字列の
、彼らは等しいです:
最初は真でなければなりません。 2番目はFalseです。
は同じロジックをフォローしてみてください:'30'<'31'
それはTrueに評価する必要があります。