0

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

我环顾四周,我只是不明白为什么它不应该在控制台中打印“空”。有人有线索吗?问题出在课程上,还是以下代码中确实存在错误,无法将“空”打印到控制台?

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

2 回答 2

7

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

if len("original") > 0:

将此更改为...

if len(original) > 0:
于 2013-05-12T01:52:31.387 回答
1

更改("original")(original)。当某些东西用引号引起来时,Python 将其计算为字符串。所以在这里,你只是检查单词“original”的长度,它总是大于 0。如果你输入 (original),Python 会将它评估为你之前定义的变量。

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

于 2013-05-12T01:59:03.393 回答