python帮助!如果是/ else语句

Tre*_*pas 2 python if-statement

我一直在通过代码学院学习python.它让我创建一个if else语句来打印用户输入,但如果没有输入打印"空".我确实通过了教程,但是当有用户输入时,它会输出用户输入和"空".

这是我的代码:

print "Welcome to the English to Pig Latin translator!"

original = raw_input("what is your name?")
length = len("original")

if length > 0:
    print original

else: length < 0
print "empty"
Run Code Online (Sandbox Code Playgroud)

请注意,else下的print不会缩进.我以为你必须缩进它,但当我这样做时给了我一个错误.

Sha*_*ank 8

您的代码似乎有几个问题.首先我相信你应该改变你的任务length:

length = len(original)
Run Code Online (Sandbox Code Playgroud)

这样,您就可以获得绑定到名称的字符串的正确长度original.如果使用len("original"),则将字符串"original"传递给len()函数,它将只计算该字符串中的字符.无论您的程序用户输入什么,您的长度将始终为8,因为这是字符串中的字符数"original"

另请注意,该len()函数永远不会返回负值.所以测试是否length < 0有意义.你可能想测试它是否等于0.好像你试图使用一个elif语句.

尝试:

print "Welcome to the English to Pig Latin translator!"

original = raw_input("what is your name?")
length = len(original)

if length > 0:
    print original

elif length == 0:
    print "empty"
Run Code Online (Sandbox Code Playgroud)

elif语句允许您像if语句一样测试条件.elif是"否则如果"的缩写.

此外,正如@chepner在评论中指出的那样,根本不需要测试第二个条件.您可以轻松地使用:

else:
    print "empty"
Run Code Online (Sandbox Code Playgroud)

else语法后面没有任何条件.如果其他条件评估为False,它会自动输入缩进的代码块.