我在这个网站www.codacademy.com上学习Python,并且我在12年第4部分中坚持锻炼PygLatin。
“编写if语句,检查字符串是否为空。
如果字符串不为空,则打印用户的单词。 否则(else),如果字符串为空,则打印“empty”。 确保彻底测试您的代码。您需要确保多次运行它并测试空字符串和带字符的字符串。当您确信代码有效时,请继续进行下一个练习。“
我必须打印用户的输入字,否则打印“空”。
original = raw_input("Welcome to the English to Pig Latin translator! Type in the word you wish to use.")
if len(original) > 0:
return raw_input
else:
return "empty"
print original
但它不起作用,我需要帮助。 我究竟做错了什么?该错误声称它在第2行(如果len(原始)> 0 :)但我还没弄清楚出了什么问题。
答案 0 :(得分:3)
错误的缩进是主要问题。此外,您有return
个语句但没有函数。另外,如果original
为空,您可以简化检查:
original = raw_input("Welcome to the English to Pig Latin translator! Type in the word you wish to use.")
if original:
print original
else:
print "empty"
或者,在一行中:
print original if original else "empty"
或:
print original or "empty"
答案 1 :(得分:1)
你不能在Python中任意缩进。以if
语句开头的四行比第一个语句缩进了一个级别:这是不允许的。您只能在引入新块的语句后缩进,就像在if
和else
之后所做的那样。将这四条线带回一个水平,使它们从左侧开始。
答案 2 :(得分:1)
你有两个主要问题:缩进和没有函数的返回。
如果要使用函数,可以定义一个接收字符串参数的函数,检查它是否为空,然后返回相应的字符串。
例如:
def checkstring(string):
if len(string) > 0:
return string
else:
return "empty"
original = "Welcome to the English to Pig Latin translator! Type in the word you wish to use."
print checkstring(original)
答案 3 :(得分:0)
我从“Quine”获得了代码但是我编辑了更多,所以你可以实际输入。如果你问我这个练习的目的,效果会更好:
print "Welcome to the English to Pig Latin translator!"
def checkstring(original):
if len(original) > 0:
return original
else:
return "empty"
original = raw_input("What is your name?")
print checkstring(original)
答案 4 :(得分:0)
print 'Welcome to the Pig Latin Translator!'
# Start coding here!
raw_input ("What is your name")
variable_name = raw_input ()
original = raw_input()
if len (original) > 0:
print "the user's word"
else:
print "empty"