我正在学习Python,所以这是一个非常基本的问题,一直困扰着我关于 for 循环。下面是一个非常简单的循环。
def rot13(entry):
for each_word in entry:
return each_word
print rot13("hello")
当我运行它时,我的输出为“h”。我知道 for 循环总是遍历字符串的每个字符,所以我很困惑为什么它只打印第一个字符与整个字符串。在通过for循环后,如何让它作为一个字符串打印“hello”?在此先感谢帮助新手!
答案 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