任何人都可以帮我处理我的代码。我写了一个小程序,以便我可以学习一些函数和正在发生的事情。让我告诉你我的代码。
print "Welcome to the English to Pig Latin translator!"
original = raw_input("Word Please?")
if len("original") > 0:
print original
else:
print "empty"
当len(原始)为0时,它应该打印“空”但没有任何反应,有人可以解释我做错了吗? 谢谢
答案 0 :(得分:5)
您的if
条件始终为True
,而不是传递您传递给它的变量字符串。 "original"
是一个字符串,而不是变量original
。
if len("original") > 0: # 8 > 0 always True
它应该是:
if len(original) > 0:
或简单地说:
if original: # as bool('') --> `False`
答案 1 :(得分:4)
len("original")
将计算字符串"original"
的长度(8
),因此if
条件将始终为True
。
这里,因为你要计算变量原始的长度,你应该写
len(original)
代替len("original")
。
答案 2 :(得分:2)
您正在检查字符串"original"
的长度是否大于0,这导致if / else完全按预期工作。
你应该做的是
if len(original) > 0:
print original
else:
print "empty"
或者更喜欢pythonic方式(如果你的original
是一个空字符串而不是一系列空格。)
if original:
print original
else:
print "empty"
答案 3 :(得分:0)
您要检查的条件始终为True
- if len("original") > 0:
因为len("original") > 0
将始终为True
,因为您正在检查"original"
中包含的字符串是否始终具有其长度--8而其他部分不会被执行。
您可以像
一样修改代码if len(original) > 0: #or if original:
print original
else:
print "empty"