我正在尝试编写一些给出字符串并将其反转的代码,同时将反转字符串的第一个字母大写。在某些情况下,我在运行时收到以下消息的原因是
代码:
错误:
发布于 2020-06-12 18:53:19
在您的capitalize()
函数中,您调用的是不带括号的upper()
方法。它返回函数对象,而不是导致问题的字符串。
将此更改为
stringA[i] = stringA[i].upper
这
stringA[i] = stringA[i].upper()
使用str.capitalize()简单地解决您的问题
res = string[::-1].capitalize()
发布于 2020-06-12 21:23:43
代码中只有一个简单的问题。您忘记将()
放在upper
方法之后。
下面是如何编写代码:
def capitalize(stringA):
notAplha = [" ",".",",","/","?","1","2","3","4","5","6","7","8","9","0"]
for i in range(1):
if stringA[i] in notAplha:
continue
else:
stringA[i]=stringA[i].upper()
return stringA
def reverseit(string):
string = list(string)
string.reverse()
string = capitalize(string)
string = "".join(string)
return string
print(reverseit(str(input())))
你的代码似乎有问题。如果在输入的末尾插入一个数字,它就不能正常工作。
因此,在if条件下尝试这个capitalize(stringA[i+1:-1])
。看起来会是这样的:
def capitalize(stringA):
notAplha = [" ",".",",","/","?","1","2","3","4","5","6","7","8","9","0"]
for i in range(len(stringA)):
if stringA[i] in notAplha:
capitalize(stringA[i+1:-1])
continue
else:
stringA[i]=stringA[i].upper()
return stringA
def reverseit(string):
string = list(string)
string.reverse()
string = capitalize(string)
string = "".join(string)
return string
print(reverseit("dsaddsa00000"))
产出将是:
00000Asddasd
https://stackoverflow.com/questions/62354942
复制相似问题