python判断回文_Python判断回文、子字符串以及返回十进制值

1.[文件]

MyStrClass.py ~ 2KB

下载(6)

class EasyStrClass:

def __init__(self, string):

self.__string = string

def containSubStr(self, skey):

if skey in self.__string:

return self.__string + " contains " + skey

else:

return self.__string + " does not contain " + skey

def isPalindrome(self):

""" Those parts are original codes, they don't require extra

spaces, but is not concise enough.

low = 0

high = len(self.__string) - 1

while low < high:

if self.__string[low] != self.__string[high]:

return self.__string + " is not a palindrome"

low += 1

high -= 1

return self.__string + " is a palindrome"""

"""A more concise implementation, thanks to 黑暗圣堂武士:"""

temp = self.__string[::-1]

if temp == self.__string:

return self.__string + " is a palindrome"

return self.__string + " is not a palindrome"

#Return decimal number for a single char:

def hexCharToDecimal(self, ch):

if 'A' <= ch <= 'F':

return 10 + ord(ch) - ord('A')

else:

return ord(ch) - ord('0')

#Return the str into decimal if it is a hexidecimal number:

def hexToDecimal(self):

decimalVal = 0

hexStr = self.__string.upper()

for index in range(len(hexStr)):

ch = hexStr[index]

if 'A' <= ch <= 'F' or '0' <= ch <= '9':

decimalVal = decimalVal * 16 + self.hexCharToDecimal(ch)

else:

return None

return decimalVal

"""

If you are trying to run this code

in other python files

add this line:

from MyStrClass import EasyStrClass"""

string = input("Enter a string: ").strip()

strkey = input("Enter the string you want to check: ")

strclass = EasyStrClass(string)

print(strclass.isPalindrome())

print(strclass.containSubStr(strkey))

print(strclass.hexToDecimal())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值