奇妙な演技しながら、私は、次のコードを持っている:ループが
fn = input("Choose a function(1, 2, 3, 4, 5, other(quit)): ");
while (not(fn > '5' or fn < '1')):
print("hello world");
これは動作しますが、ほとんどの時間。たとえば、私が54や何かクレイジーな数字を入力すると、 "hello world"は決して印刷されません。
ただし、45と入力するとループに入ります。
これはなぜですか?
のために準備される... '5「'より辞書順で小さい4''」、有効な入力のための無限whileループになります''より大きく '' 1 ''より大きいため、式はFalseと評価されます。 'not False'は' True'なので、ループに入ります。 – Li357
つまり、文字列(テキスト)上の '>'または '<'演算子を使用すると、その順序をアルファベット順に比較します。アルファベット順ではありませんが、エンコーディングテーブル内のその文字列のシンボルの場所になります。 – AlexanderMP