比较字符串与输入字符串:: python

问题描述:

我想比较一个输入字符串,但是当我输入barack作为输入时,编译器直接转到其他条件,忽略if条件并给我输出“Wrong答案“比较字符串与输入字符串:: python

def main(): 
    First_name = raw_input(" enter the first name of President Obama : ") #input 
    if First_name == ['b', 'a', 'r','a', 'c', 'k'] : 
      print "Correct answer" 
     else : 
      print "Wrong answer" 


    Exit_key = input('Press any key to end') 
+2

你为什么认为输入是一个列表?! – jonrsharpe 2014-11-04 22:38:16

+0

Python字符串不是char数组。 – 2014-11-04 22:41:11

你有这样做的原因吗?尝试:

if First_name == "Barack" : 
+0

就像一个魅力工作谢谢 – johnny 2014-11-04 22:42:47

+0

'如果First_name.lower()== barack'会更pythonic – Hackaholic 2014-11-04 22:43:23

+0

没问题,请标记为接受的答案,如果它的工作。 – marsh 2014-11-04 22:46:03

raw_input是一个字符串,所以做你想要什么,你将不得不呼吁字符串列表:

if list(First_name) == ['b', 'a', 'r','a', 'c', 'k']) 

这是比较容易只是做if First_name == "barack"

In [1]: inp = raw_input() 
barack 

In [2]: list(inp) 
Out[2]: ['b', 'a', 'r', 'a', 'c', 'k'] 

In [3]: inp 
Out[3]: 'barack' 

使用lambdamap。只是如果你想学习基本概念

if map(lambda x:x,First_name.lower()) == ['b', 'a', 'r','a', 'c', 'k']: