python 回文题

1编写:一个Python函数,用于计算一个数字(非负整数)的阶乘。函数接受数字作为参数

2 编写一个Python函数,该函数将一个数字作为参数,并检查该数字是否为素数(返回True or False)

3 编写一个Python函数,检查传递的字符串是否回文。

from functools import reduce
class HomeWork:

    YINZI_NUM = 10

    def __init__(self, num: int = 0, palindromestr: str = ""):
        self.num = num
        self.palindromestr = palindromestr

    def CalculationFactorial(self):
        return reduce(lambda x,y:x*y,range(1,abs(self.num)+1))

    def isPrimenumber(self):
        # 不能被其他自然数(质数)整除(2, 3, 5, 7等)
        if self.num == 1:
            return False
            
        for i in range(2,self.YINZI_NUM):
            if self.num == i:break
            if self.num % i == 0:
                return False
        return True 


    def isPalindrome(self):
        
        f_palindromeList = self.palindromestr[0:int(len(self.palindromestr)/2)]
        print('前',f_palindromeList)
        b_palindromeList = self.palindromestr[-int(len(self.palindromestr)/2):]
        new_palindrome = []
        new_str = ''
        
        for i in range(len(b_palindromeList)):
            new_palindrome.append(b_palindromeList[len(b_palindromeList)-i -1])

        print('list',new_palindrome)
        print('list join',new_str.join(new_palindrome))

        if new_str.join(new_palindrome) == f_palindromeList:
            return True
        else:
            return False
      


homework = HomeWork(3,"abcbbf")

print(homework.CalculationFactorial())
print(homework.isPalindrome())
print(homework.isPrimenumber())
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值