For loop 关于Python中循环的非常基本的Q
我正在学习Python,所以这是一个非常基本的问题,一直困扰着我关于for循环的问题。下面是一个非常简单的循环For loop 关于Python中循环的非常基本的Q,for-loop,python-2.7,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”打印为一个字符串?提前感谢您
def rot13(entry):
for each_word in entry:
return each_word
print rot13("hello")
当我运行这个时,我的输出是“h”。我知道for循环总是遍历字符串的每个字符,所以我不明白为什么它只打印第一个字符而不是整个字符串。如何让它在通过for循环后将“hello”打印为一个字符串?提前感谢您对新手的帮助 这是因为当你
返回每个单词时,你只返回字母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.
要打印整个单词,您可以只返回条目,而不使用for循环。或者,如果要打印每个字母,然后返回单词,请将return语句置于for循环之外:
def rot13(entry):
for each_word in entry:
print each_word
return entry
当被呼叫时:
>>> rot13('hello')
h
e
l
l
o
'hello'
声明
return each_word
使控件返回call语句。这样只打印第一个元素h
。使用
def rot13(entry):
for each_word in entry:
print each_word,
打印整个单词。或者要返回整个单词,只需使用returnentry