关于Python中的循环的非常基本的问题

时间:2013-04-01 01:16:50

标签: for-loop python-2.7

我正在学习Python,所以这是一个非常基本的问题,一直困扰着我关于 for 循环。下面是一个非常简单的循环。

def rot13(entry):
    for each_word in entry:
        return each_word

print rot13("hello")

当我运行它时,我的输出为“h”。我知道 for 循环总是遍历字符串的每个字符,所以我很困惑为什么它只打印第一个字符与整个字符串。在通过for循环后,如何让它作为一个字符串打印“hello”?在此先感谢帮助新手!

2 个答案:

答案 0 :(得分:1)

这是因为当您return each_word时,您只返回h字母,然后该功能停止。

像这样考虑:

def rot13(entry):
    for each_word in entry: # Starts with h
        print each_word
        # Prints h
        return each_word
        # Returns the letter h. Breaks.

要打印整个单词,您可以只return entry而不使用for循环。或者如果你想打印每个字母然后返回单词,将return语句放在for循环之外:

def rot13(entry):
    for each_word in entry:
        print each_word
    return entry

当被召唤时:

>>> rot13('hello')
h
e
l
l
o
'hello'

答案 1 :(得分:1)

声明

 return each_word

使控件返回到call语句。这样只打印第一个元素h。使用

def rot13(entry):
    for each_word in entry:
        print each_word,

打印整个单词。或者要返回整个单词,只需使用return entry

即可