Python - 使用For循环创建反向字符串

时间:2016-04-19 22:28:47

标签: python string for-loop

我正在试图弄清楚如何使用for循环创建反向字符串。据我所知,这不是最有效的方法,但我的赋值参数指定你必须使用for循环。我有什么似乎应该工作,但我一直得到错误:“TypeError:'str'对象不可调用”为“第7行,在ReverseString test2 = test1(n)”。

def ReverseString(test1):
    global test2
    test2 = ""
    for n in range (len(test1)-1, -1, -1):
        test2 = test1(n)
        print (test2)
        return test2

#Input

test1 = input("Enter a string to test if it is a Palindrome: ")

ReverseString(test1)

2 个答案:

答案 0 :(得分:3)

您正试图通过执行test1[n],在+=错误消息中调用字符串,以便索引字符串。

此外,您的返回位于您希望它在外面的循环内,并且您希望使用test1[::-1]来连接,而不是在每次迭代时重新分配它。

我假设这是一个练习,这就是为什么你要迭代地这样做。尽管如此,为了完整性来反转字符串,您只需执行serial: 1

答案 1 :(得分:1)

def ReverseString(test1):
    test2 = ""
    for i in range (len(test1) - 1, -1, -1):
        test2 += test1[i]
    return test2

test1 = input("Enter a string to test if it is a Palindrome: ")

print(ReverseString(test1))

调用字符串没有任何意义,你想要的是将每个字符从test1附加到test2,并且你的返回必须在循环之外