python - python中的回文函数,由老师的逻辑
问题描述
伙计们,我知道有类似的问题,但请帮助处理这段代码 - 我只能找到类似问题的代码,但遵循另一种逻辑,这对于学习我需要学习的内容没有用处。有什么想要的: is_palindrome 函数检查字符串是否为回文。回文是一个字符串,可以从左到右或从右到左同等读取,省略空格,忽略大小写。回文的例子是像 kayak 和radar 这样的词,以及像“Never Odd or Even”这样的短语。如果传递的字符串是回文,则填写此函数中的空白以返回 True,否则返回 False。这就是我想出的……工作但缺少一些东西
def is_palindrome(input_string):
# We'll create two strings, to compare them
new_string = "{input_split}".format(input_split = input_string.lower())
reverse_string = "{input_split}".format(input_split = input_string.lower()[::-1])
# Traverse through each letter of the input string
for letter in new_string:
# Add any non-blank letters to the
# end of one string, and to the front
# of the other string.
if letter[0] in new_string != " ":
new_string = "{letter}{new_string}".format(letter = letter[0],new_string = new_string[1:])
reverse_string = "{letter}{reverse_string}".format(letter = letter[0],reverse_string = reverse_string[1:])
# Compare the strings
if new_string == reverse_string:
return True
return False
print(is_palindrome("Never Odd or Even")) # Should be True
print(is_palindrome("abc")) # Should be False
print(is_palindrome("kayak")) # Should be True
解决方案
使用“split”函数并用空格分割 --> 然后加入所有分割字符串
def is_palindrome(input_string):
if input_string.lower() == "".join(input_string.split(' ')).lower()[::-1]:
print("True")
else:
print("False")
推荐阅读
- android - 构造函数中处理程序的 postDelay 方法的正确方法
- c++ - 为什么 header 中的全局变量 ofstream 不能在 C++ 中写入文件?
- java - Spring Boot中如何合理设置ThreadPool大小?
- java - 如何使用流比较 2 列表过滤 Java 中的列表
- c - 如何在 C 编程中过滤掉带有异常的字符
- android - 使用 WifiManager 开启 wifi 停止在 Android 10 上工作
- python - 如何从 oracle 游标的输出中添加转义字符串?
- sql - 需要帮助找到在oracle中超过6小时的时差
- sql - 如何删除多个“插入”查询中的特定列值
- deep-learning - 为什么模型的损失在每个时期总是围绕 1 旋转?