我已经在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中的解释者一样好吗?
答案 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"