python - 检查Raw_input不为空

时间:2013-05-13 14:59:26

标签: python

我已经在codeacademy

的在线练习中创建了以下代码
print "Welcome to the English to Pig Latin translator!"
original = raw_input("what's you name?")

if original != "" and original.isalpha():
    print original
else:
    print "empty"

但后来在课程上看到它换了原始的!=“”使用len(原创)> 0

它们是否与python中的解释者一样好吗?

1 个答案:

答案 0 :(得分:5)

在您的具体示例中,original != ""len(original) > 0将始终返回相同的结果,因为我们知道original将始终是一个字符串。后一种变体会慢一点,但你不会注意到。

但是在这种情况下,整个条件是不必要的,因为

>>> "".isalpha()
False

因此,您将使用

获得相同的逻辑
if original.isalpha():
    print original
else:
    print "empty"

但是,结果不正确,因为

>>> "1".isalpha()
False

更好地使用

之类的东西
if original.isalpha():
    print original
elif not original:
    print "empty"
else:
    print "not alpha"