python - 我如何修复这个 python 反向范围回文?
问题描述
这是为了一个任务。我们必须将一些提供的 java 代码翻译成 Python。大部分都很简单,但最后一点让我很头疼。整个代码是一个菜单,其中一个选项是“显示最多 1000 个回文”。他们想要的是翻译而不是重写——我相信有一百万种方法可以做到这一点。我在方法部分做错了什么......
def isPalindrome(n):
str_n = str(n)
reverse = ""
for i in range(len(str_n)-1, -1, -1):
reverse = reverse + str_n[i]
result = str_n == reverse
return result
这里还有一些其他的菜单代码......
elif option == 3:
print("PALINDROMES")
for i in range(0, 1000):
if isPalindrome(i):
print(i)
break
解决方案
据我了解您的问题,您想检查数字是否为回文?例如11
是但13
不是?
无论如何,最简单的方法是使用[::-1]
,它将反转列表或字符串,因此您可以编写如下代码:
def is_palindrome(text):
if text == text[::-1]:
print(f"({text} is a palindrome!)")
推荐阅读
- html - .m3u8 视频源仅在 macOS 上运行
- vue.js - 使用 Vuejs 时如何优化我的 app.js 文件
- arrays - Bash 数组未正确写入变量
- javascript - 有 2 个名称的 JavaScript 函数?
- amazon-web-services - Amazon Redshift 是否有自己的存储后端
- python - 使用 if 根据值添加列值
- bash - Bash 终端:仅将特定行写入日志文件
- docker - 如何使用 docker run 命令传递环境变量?
- css - 如何使用 react-native-svg 找到宽度、高度和 viewBox 的正确值
- visual-studio-code - VSCode“查找全部”不查找所有文件,仅打开文件