1

我正在尝试在 codeacademy 上自己学习 python,并且正在查看过去的课程,但我无法弄清楚我做错了什么。我想我正确地复制了所有内容。

任务是检查用户输入的单词,看它是否包含至少一个字符。如果它确实包含多个字符,则程序应该打印用户在开始时输入的单词。如果不是,程序应该说“空”。

该代码让我输入一个单词,但是即使该单词有多个字符,它也不会打印出该单词。我觉得解决方案可能很简单,但我无法弄清楚。我认为分号在正确的空间中。非常感谢您的帮助

print "Welcome to the English to Pig Latin translator!"
original = raw_input("tell me your secrets")
def true_function():
    if len(original)>= 1:
        print(original)
    else:
        print("empty")
4

4 回答 4

5

这是因为您从不调用该true_function()函数。

您可以删除它,只需:

print "Welcome to the English to Pig Latin translator!"
original = raw_input("tell me your secrets")

if len(original)>= 1:
  print(original)
else:
  print("empty")

或者,调用true_function()之后,将变量original作为参数传递:

def true_function(original):
  if len(original)>= 1:
    print(original)
  else:
    print("empty")

print "Welcome to the English to Pig Latin translator!"
original = raw_input("tell me your secrets")
true_function(original)
于 2013-07-08T06:17:51.937 回答
1

你需要调用true_function()它才能执行

做这样的事情

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

def true_function():
    original = raw_input("tell me your secrets")
    if len(original)>= 1:
        print(original)
    else:
        print("empty")
true_function()

请注意在您刚刚输入之前我是如何调用true_function()的,仅此而已,但知道在函数中询问输入然后运行条件

如果你不完全理解,这里有一些关于函数的教程

教程点:函数

ZetCode 调用函数

于 2013-07-08T06:20:00.257 回答
0
original = raw_input(...)

这会将用户输入返回到一个名为 output 的变量。

def true_function():

this like 定义了一个函数。请注意,它实际上并没有做任何事情,更像是告诉 pythontrue_function()存在类似的东西。

现在,如果您致电true_function()您的代码将起作用。但我建议进行以下更改。

def true_function(arg):
    if len(arg)>= 1:
        print(arg)
    else:
        print("empty")

现在请注意,您的函数需要一个名为arg. 每当你调用这个函数时,你在函数调用中给它一个变量,比如

true_function(original)

有关更多详细信息,请参阅python 函数文档

于 2013-07-08T06:25:18.127 回答
0

伙伴你需要调用函数。该函数还应采用字符串参数,因为我假设您将输入字符串作为输入。

def true_function(string):
    if len(original)>= 1:
        print(original)
    else:
        print("empty")

print "Welcome to the English to Pig Latin translator!"
original = raw_input("tell me your secrets")
true_function(original)
于 2013-07-08T06:29:16.560 回答