检查两个字符串是否是回文 - 忽略和使用大小写?
Checking whether two strings are a palindrome - ignoring and using case writing?
下面是一个简单的脚本。基本上,我正在试验字符串,我想检查一个字符串是否是回文(忽略小写字母),如果它与原始字符串(大写和小写)的相同写法相反:
input = "Repaper"
reverse = reversed(input)
if input == reverse:
print(reverse)
我没有收到任何错误警告 - 只是没有输入?
首先,使用 input
作为变量是 不好的做法 因为它已经是一个内置函数(参见:https://docs.python.org/3/library/functions.html)。当然,它不会损害您的代码,但也不会以任何方式使您受益!为什么不调用字符串,例如input_string
或 in_str
?
据我了解,您想比较两个字符串 - 忽略小写和大写字母:
in_str = 'Anna'
#Ignoring lower-/uppercase
in_str = in_str.casefold()
#Reversing the string
rev_str = reversed(in_str)
现在重要的是要知道我们现在一直在使用的内置函数 reversed()
,returns 是一个反向迭代器,所以我们将(一个例子)通过 list()
:
#Comparing the string and check whether it's a palindrome
if list(in_str) == list(rev_str):
#Outputting the reversed string; for example via slicing
print(in_str[::-1])
-> 因此对于示例输入 Anna
,输出将是 annA
,这应该正是您想要的。
给定一个字符串 a
和一个字符串 b
return a == b[::-1] # would return True if a and b are palindromes
下面是一个简单的脚本。基本上,我正在试验字符串,我想检查一个字符串是否是回文(忽略小写字母),如果它与原始字符串(大写和小写)的相同写法相反:
input = "Repaper"
reverse = reversed(input)
if input == reverse:
print(reverse)
我没有收到任何错误警告 - 只是没有输入?
首先,使用 input
作为变量是 不好的做法 因为它已经是一个内置函数(参见:https://docs.python.org/3/library/functions.html)。当然,它不会损害您的代码,但也不会以任何方式使您受益!为什么不调用字符串,例如input_string
或 in_str
?
据我了解,您想比较两个字符串 - 忽略小写和大写字母:
in_str = 'Anna'
#Ignoring lower-/uppercase
in_str = in_str.casefold()
#Reversing the string
rev_str = reversed(in_str)
现在重要的是要知道我们现在一直在使用的内置函数 reversed()
,returns 是一个反向迭代器,所以我们将(一个例子)通过 list()
:
#Comparing the string and check whether it's a palindrome
if list(in_str) == list(rev_str):
#Outputting the reversed string; for example via slicing
print(in_str[::-1])
-> 因此对于示例输入 Anna
,输出将是 annA
,这应该正是您想要的。
给定一个字符串 a
和一个字符串 b
return a == b[::-1] # would return True if a and b are palindromes