0

我正在尝试做一些简单的 Python,它允许用户在命令行中输入一个 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 位数字,因此正确的索引可能是[0]and[5]而不是[1]and [6],因为 Python(和大多数其他编程语言)中的序列是零索引的。

最后一点,你uinumber[6]是偶然写的,而不是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 回答