python帮助!If/else语句

python帮助!If/else语句,python,if-statement,Python,If Statement,我一直在代码学院学习python。它要求我创建一个if-else语句来打印用户输入,但如果没有输入,则打印“empty”。我确实通过了教程,但当有用户输入时,它会打印用户输入和“空” 这是我的密码: print "Welcome to the English to Pig Latin translator!" original = raw_input("what is your name?") length = len("original") if length > 0: pr

我一直在代码学院学习python。它要求我创建一个if-else语句来打印用户输入,但如果没有输入,则打印“empty”。我确实通过了教程,但当有用户输入时,它会打印用户输入和“空”

这是我的密码:

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"
print“欢迎来到英语到拉丁语的翻译人员!”
原始=原始输入(“你叫什么名字?”)
长度=长度(“原始”)
如果长度>0:
打印原件
其他:长度<0
打印“空”
请注意,else下的打印没有缩进。我以为你必须缩进它,但当我这样做时,它给了我一个错误

else: length < 0
print "empty"

Python有明显的空白,缩进相同的内容在相同的范围内。

在else后面有一条语句

else: length < 0
print "empty"
或者只是一个普通的

else:
   print "empty"
它无论如何都不会超过零,你可以有一个条件为零,它会工作的

elif length == 0:
这可能是最好的方法,不需要检查其他情况

if length > 0:
   print original
else: 
   print "empty"
还有一个旁注
length=len(“原件”)

因为它是一个变量:),所以在original的周围不应该有引号。您将只获得字符串“original”,而不是变量中的实际内容

最终结果

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: 
    print "empty"

长度<0
是否打算作为注释?您需要注释字符
#

else:#长度<0
打印“空”

无论如何,这是错误的,应该是
length您的代码似乎有一些问题。首先,我认为您应该将
长度的赋值更改为:

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

还要记住,
len()
函数永远不会返回负值。所以测试
长度<0
没有意义。您可能想测试它是否等于0。似乎您试图使用
elif
语句

尝试:

elif
语句让您可以像
if
语句一样测试条件
elif
是“else if”的缩写

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

else:
    print "empty"

else
语法后面没有任何条件。如果其他条件的计算结果为False,它将自动输入缩进的代码块

首先,它不是
len(“原件”)
它是
len(原件)
。如果使用引号,则将其设置为常量值“original”,而不是名为original的变量

第二,不必检查字符串的长度,而应该使用

if original:
    # Type here what happens if the string is not empty
else:
    # Here what happens if the string is empty

根据Python标准,任何集合(包括字符串)如果为空(aka不包含任何元素),则等于
false
,如果包含任何元素,则等于
true

要检查列表中是否有项,只需执行以下操作:

if List_name:
    {code here}
    ...
因此,您的代码应该非常简单,如下所示:

print "Welcome to the English to Pig Latin translator!"
original = raw_input("what is your name?")
if original:
    print original
else:
    print "Empty"

很简单:D

在else之后失去条件。它甚至不正确,它将是
长度
永远不会小于0;只要
else
就足够了。如果长度不大于零,并且不能小于零,则唯一剩下的选项是0。没有必要用
elif length==0
替换
else
。我知道,我只是想尽可能地遵守他的原始逻辑。@TrentBurkenpas那么你必须用复选标记奖励某人,否则你将来不会得到太多帮助!
else:
    print "empty"
if original:
    # Type here what happens if the string is not empty
else:
    # Here what happens if the string is empty
if List_name:
    {code here}
    ...
print "Welcome to the English to Pig Latin translator!"
original = raw_input("what is your name?")
if original:
    print original
else:
    print "Empty"