Python题

这篇博客涵盖了多个Python编程挑战,包括寻找完美立方数的四元组、身份证号升位规则、分期付款计算器、平均成绩计算、素数求和、个人数据合并以及密码加密解密等实际应用问题。通过解决这些问题,读者可以加深对Python编程和数学概念的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完美立方数

费马大定理断言,当整数 n > 2时,关于 a,b,c 的方程 an = bn + cn 没有正整数解。
该定理被提出来后,历经三百多年,经历多人猜想辩证,最终在 1995 年被英国数学家安德鲁.怀尔斯证明。
当然,可以找到大于 1 的 4 个整数满足完美立方等式:a
3 = b3 + c3 + d3 (例如 123 = 63 + 83 + 103)
编写一个程序,对于任意给定的正整数 N(N<=100),寻找所有的四元组(a,b,c,d),满足 a
3 = b3 + c3 + d**3
其中 1 < a,b,c,d <=N

from math import *

N=int(input())
for a in range (N+1):
    for b in range (2,a):
        for c in range (b,a):
            for d in range (c,a):
                if pow(a,3)==pow(b,3)+pow(c,3)+pow(d,3):
                      print("Cube = {:.0f},Triple = ({:.0f},{:.0f},{:.0f})".format(a,b,c,d))

身份证号批量升位

我国自1999年10月1日身份证号码由15位改成18位,1999年以前出生的人持有的旧身份证号码均为15位,1999年10月1日以后出生的人获得的身份证号都是18位。
读取附件中文本文件id15.txt,用户输入一个正整数 n (n<=30),将其中的前 n 行中的15位身份证号升到18位并输出,身份证号升位规则如下:
第一步,在原十五位数身份证的第六位数后面插入19 (1905年1月1日以后出生),这样身份证号码即为十七位数;
第二步,按照国家规定的统一公式计算出第十八位数,作为校验码放在第二代身份证的尾号。
校验码计算方法:将身份证前十七位数分别乘以不同系数并求和
S = Sum(Ai * Wi)
Ai:表示第i位置上的身份证号码数字值, i = 0, … , 16
Wi:表示第i位置上的加权因子,Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
S对11取模得到余数0-10,对应的校验码如下:
余数 Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2

def id15218(id15):
    a = id15
    id15 = a[ :6] + '19' + a[6:]
    Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
    s = 0
    for i in range(17):
        s = s + int(id15[i]) * int(Wi[i])
    Y = str(s % 11)
    if int(Y) < 10:
        before = '0 1 2 3 4 5 6 7 8 9'
        after = '1 0 X 9 8 7 6 5 4 3'
        table = ''.maketrans(before,after)
        Y =Y.translate(table)
    else:
        Y = '2'
    id18 = id15[:17] + Y + id15[17:]
    id18 = id18.replace(id18[18],' '*1)
    return id18


n = int(input())
with open('id15.txt','r',encoding='utf-8') as file:
    for i in range(n):
        line = file.readline()   # line 的内容是文件中的一行,字符串类型
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值