有人可以帮助我使用if
语句和数组。例如,我在数组0001
中输入"1"
是[3]
。如果在数组"working"
上输入1
,我正试图打印[3]
。
此代码应解释更多:
original = raw_input("Type is your input? ")
original_as_array = list(original)
print original_as_array
print original[3]
if (original[3] == 1):
print "working"
答案 0 :(得分:5)
这是因为您要将int
与单个字符(类型str
)进行比较。将您的if
语句更改为:
if (original[3] == "1"):
print "working"
它会起作用。
您输入的密钥包含字符('0001'
),因此您的比较必须考虑到这一点。
,例如,
type(original[3])
str
type(1)
int
答案 1 :(得分:4)
首先,字符串已经是数组,因此您无需将它们转换为列表。
在Python中,字符串不会等于整数,因此您应该与'1'
进行比较。最后,if语句在没有括号的情况下看起来更好:D
>>> original = raw_input("Type is your input? ")
Type is your input? 0001
>>> if original[3] == '1':
print "working"
working
答案 2 :(得分:0)
你的问题是你正在检查一个针对str的int,它将是False。请参阅此交互式会话:
>>> original = raw_input("Type is your input? ")
Type is your input? 0001
>>> original_as_array = list(original)
>>> print original_as_array
['0', '0', '0', '1']
>>> print original[3]
1
>>> if original[3] == 1:
... print "working"
...
>>> print type(original[3])
<type 'str'>
>>> if original[3] == '1':
... print "working"
...
working
>>>