我试图在python 2.7中创建一个反向函数

时间:2016-12-30 21:17:42

标签: python-2.7 function loops

我得到了没有'作为我的输出而不是反转的字符串。我不确定我是否打印错了。我对循环比较新,所以请耐心等待,但基本目标是扭转'old_string'

 old_string=("I am testing") #Defining old_string


 def reverse(old_string):

     rng=range((len(old_string))-1,11,1) #rng= the range of the number of index values in old_string, starting with max-1 ending at 0 by steps of -1
     new_string='' #New string equals the following loop

     for index in rng: #For index in the above range


         new_string=new_string,old_string[index] #New string equals itself PLUS the origninal old string using index values of 'index'
         return new_string


 print reverse(old_string)

3 个答案:

答案 0 :(得分:1)

这些是您的版本中的错误:

def reverse(old_string):
    rng=range((len(old_string))-1,-1,-1) # this is the correct range that you want
    new_string='' 

    for index in rng:
        new_string += old_string[index] # concatenate strings with + (or +=)

    return new_string   # return outside of your loop

顺便说一下,你总是可以用

反转字符串s
s[::-1]

答案 1 :(得分:1)

通过将return语句放在for循环中,您将在for循环完成之前退出该函数。您需要将return语句放在for循环之外。

此外,如果您只想反转字符串,可以执行以下操作

>>> 'hello world'[::-1] 'dlrow olleh'

答案 2 :(得分:0)

我的return语句在for循环中,从而结束循环。所以,我把它移出循环,所以现在它完成循环完成。 (我也修改了范围号码)