我正在试图弄清楚如何使用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)
答案 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
,并且你的返回必须在循环之外