我得到了没有'作为我的输出而不是反转的字符串。我不确定我是否打印错了。我对循环比较新,所以请耐心等待,但基本目标是扭转'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)
答案 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循环中,从而结束循环。所以,我把它移出循环,所以现在它完成循环完成。 (我也修改了范围号码)