0

ユーザーがコマンドラインに6桁の数字を入力できるようにする簡単なPythonを実行しようとしています。私のコードは、入力された数字の 1 桁目と 6 桁目の値をチェックする必要があります。

入力された値は という名前の変数に格納されますuinumber。次にif、これらの場所の値が一致するかどうかを確認するステートメントを使用して確認します。以下に示すように:

 if uinumber[1] == 5 and uinumber[6] == 0:

これは何もしないようです。また、入力した数値を文字列に変換してから、以下に示すようにチェックを試みましたが、これにより同じ問題が発生します。

 uinumber_string = str(uinumber)
  if uinumber_string[1] == 5 and uinumber[6] == 0:

これは同じ問題を引き起こすようです。これを行う正しい方法は何ですか?

ありがとう!

4

1 に答える 1

4

入力された数値を文字列にキャストする必要があることについては正しいですが、それを文字列と比較する必要もあります。

さらに、6桁の数字について言及したので、Python(および他のほとんどのプログラミング言語)のシーケンスはゼロインデックスであるため、正しいインデックスはおそらく[0]andであり、 and[5]ではありません。[1][6]

uinumber[6]最後にもう 1 つ、あなたはの代わりに偶然書きましたuinumber_string[6]

uinumber_string = str(uinumber)
if uinumber_string[0] == "5" and uinumber_string[5] == "0":
    # Do something
于 2013-02-01T23:57:43.120 に答える