python练习2

1.(回文素数)回文素数是指一个数既是素数又是回文数。例如,131既是素数也是回文数。数字313和717都是如此。编写程序显示前100个回文素数。每行显示10个数字,并且准确对齐,如下所示。

    2      3      5      7     11    101    131    151    181    191

313  353  373  383   727    757    787    797    919    929

python代码实现:

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True
def is_palindrome(num):
    return str(num) == str(num)[::-1]
count = 0
num = 2
while count < 100:
    if is_prime(num) and is_palindrome(num):
        print(f"{num:7}", end=" ")
        count += 1
        if count % 10 == 0:
            print()
    num += 1

测试结果显示:

 

2.(反素数)(逆向拼写的素数)是指一个将逆向拼写后也是一个素数的非回文数。例如:17和71都是素数,所以,17和71都是反素数。编写程序显示 前100个反素数。每行显示10个数字,并且准确对齐,如下所示。

   13     17     31     37     71     73     79     97     107     113

 149   157   167   179   199   311   337   347     359     389 

python代码实现:

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True
def is_antipalindrome(num):
    return not str(num) == str(num)[::-1] and is_prime(int(str(num)[::-1]))
count = 0
num = 10
while count < 100:
    if is_antipalindrome(num):
        print(f"{num:7}", end=" ")
        count += 1
        if count % 10 == 0:
            print()
    num += 1

 测试结果显示:

3.(求一个整数各个数字的和)编写一个函数,计算一个整数各个数字的和。使用下面函数头:

def sumDigits(n):

  例如:sumDigits(234)返回9(2+3+4)。(提示:使用求余运算符%提取数字,而使用除号//去掉提取出来的数字。例如:使用234%10(=4)抽取4,然后使用234//10 (=23)从234中去掉4。使用一个循环来反复提取和去掉每个数字,知道所有数字被提取完为止。)编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。 

python代码显示:

def sumDigits(n):
    total = 0
    while n > 0:
        digit = n % 10
        total += digit
        n //= 10
    return total
num = int(input("请输入一个整数:"))
result = sumDigits(num)
print("各个数字的和为:", result)

测试结果显示: 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值