if / else麻烦 - 否则不打印到控制台

时间:2013-05-12 01:50:51

标签: python

如果我输入一个单词,我的代码会运行良好,但是如果我想通过不输入任何东西来测试它的“else”部分,只要在询问名称时按Enter键,它就会返回“糟糕,再试一次!当len(原始)为0时,你的代码是否打印“空”? 为了解释,我正在尝试完成关于codecademy的课程。

我环顾四周,我不明白为什么不应该将“空”打印到控制台中。有人知道吗?故障是由于课程还是在下面的代码中确实存在错误,使其无法将“空”打印到控制台?

print "Welcome!"
original = raw_input("Please enter a word")
if len("original") > 0:
    print original
else:
    print "empty"

2 个答案:

答案 0 :(得分:7)

您正在检查字符串文字“原始”的长度,该长度始终大于0

if len("original") > 0:

将此更改为...

if len(original) > 0:

答案 1 :(得分:1)

("original")更改为(original)。当某些内容出现在引号中时,Python会将其作为字符串进行评估。所以在这里,你只是检查单词“original”的长度,它总是大于0.如果你输入(原始),Python会将它评估为你之前定义的变量。

简而言之:您希望函数评估变量,而不是字符串文字(由“”定义)。