2013-01-09 44 views
0

即使我从代码中删除'if语句',我也会得到相同的输出。这个python代码中'if语句'的需求是什么?

word='pizza' 
    begin=None 
    while begin!='': 
     begin=(raw_input('\nBegin:')) 
     if begin: 
      begin=int(begin) 
      end = int(raw_input('End:')) 
      print "word[",begin,":",end,"]" 
      print word[begin:end] 
    raw_input("\n\nPress enter key") 

回答

1

查看用户是否输入了空字符串以外的内容。

>>> if '': 
...  print 'empty' 
... 
>>> if 'I entered something': 
...  print 'not empty' 
... 
not empty 
>>> raw_input('just hit enter: ') # just hinting 'enter' results in the empty string 
just hit enter: 
'' 
+0

它不可能。因为输入不应该是空字符串。 – 88dax

+0

@GobinathEm:这就是它测试的内容;输入*可以*为空字符串。 –

+0

明白了。谢谢.. – 88dax

1

该if用于确保begin=(raw_input('\nBegin:'))的输入不为空。在pep 08的“编程建议”一节中,您可以看到:

“对于序列(字符串,列表,元组),请使用空序列为假的事实。

+0

是的。我知道了。谢谢。 但是if语句检查输入是否为null? 我的意思是,if语句的条件在哪里? – 88dax

+0

条件相当于'如果x不是None'或者'如果len(x)== 0',我更新了我的答案。 – elyase

+0

好的。那么,在python中,我们不必包含检查'true'或'false'的条件吗? – 88dax

1

if检查用户是否按了Enter

如果删除if,执行程序,只按Enter,你会看到这样的输出:

Begin: 


Press enter key 

如果输入1并按Enter,输出将是这样的:

Begin:1Begin: 


Press enter key 
+0

如果我删除了'if',那么程序不会接受空输入。 因此,它只是检查输入是否为空。 – 88dax