python - 尝试通过添加字符来反转字符串
问题描述
我正在研究一个反转字符串的函数,当我运行它时,我得到两个错误,一个是在tot -= i
显示TypeError: unsupported operand type(s) for -=: 'str' and 'str'
,一个是在print(reverse(thestr))
。
但是,如果我把+
in tot += i
,它的工作原理。我该如何解决这个问题,至于我在使用时的理解-
会相反?
def reverse(c):
tot = ''
for i in c:
tot -= i
return tot
thestr = 'This is a Test'
print(reverse(thestr))
解决方案
据我了解使用 - 它会反过来
这是不正确的。
要预先添加,您可以执行以下操作:
tot = i + tot
或者,要更 Python 地解决问题,请使用reversed()
:
def reverse(c):
tot = ''
for i in reversed(c):
tot += i
return tot
然后可以简化为''.join()
:
def reverse(c):
return ''.join(reversed(c))
或者简单地使用反向切片:
def reverse(c):
return c[::-1]
推荐阅读
- mysql - 从其他表中都可用的表中选择
- unit-testing - 登陆页面的代码质量和单元测试
- regex - Symfony 5 - 现在工作的正则表达式验证器不起作用
- c# - 如何计算战舰游戏中的舰船数量
- ios - 是否可以更新音频文件元数据(标题、艺术家、专辑封面)?
- ruby-on-rails - Rails - 对加密字段求和
- amazon-web-services - Boto3 如何在将文件从一个位置移动到另一个位置时附加元数据?
- google-chrome - HTTP 200 和 Chromium 中的空响应 >=94
- javascript - VideoJS 错误:提供的元素或 ID 无效
- spring-boot - camunda spring boot 外部任务不并行运行