数组和if语句

时间:2012-06-17 13:28:51

标签: python arrays list if-statement

有人可以帮助我使用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"

3 个答案:

答案 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
>>>