我正在尝试做一些简单的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:
这似乎导致同样的问题;这样做的正确方法是什么?
谢谢!
答案 0 :(得分:4)
你是否需要将输入的数字转换为字符串,但是你需要将与字符串进行比较。
此外,由于您提到了一个6位数字,因此正确的索引可能是[0]
和[5]
而不是[1]
和[6]
,因为Python中的序列(和大多数其他编程语言都是零索引的。
最后一点,你偶然写了uinumber[6]
而不是uinumber_string[6]
。
uinumber_string = str(uinumber)
if uinumber_string[0] == "5" and uinumber_string[5] == "0":
# Do something