来自网络,联系侵删
68 字
1 分钟
【课外拓展题】函数运用
第1关:天数计算
########## Begin ##########def feb(y): if y % 4 == 0 and y % 100 != 0 or y % 400 == 0: return 29 else: return 28def dayOfYear(y,m,d): days = 0 for i in range(1,m): if i == 2: days += feb(y) else: if i in [1,3,5,7,8,10,12]: days += 31 else: days += 30 days += d return days########## End ##########y = int(input()) #年m = int(input()) #月d = int(input()) #日day = dayOfYear(y,m,d)print('%d年%d月%d日是这年第%d天' % (y,m,d,day))第2关:打印圣诞树
########## Begin ##########for i in range(1,6): print(" "*(9-i),"*"*(2*i-1)," "*(9-i))for i in range(1,8): print(" "*(9-i),"*"*(2*i-1)," "*(9-i))for i in range(1,10): print(" "*(9-i),"*"*(2*i-1)," "*(9-i))print("*"*19)i = 1while i<=6: print(" "*7,"*"*3," "*7) i += 1########## End ##########第3关:矩阵乘法(我也不会)
这是抄的
########## Begin ##########def create_zero_matrix(rows, cols): return [[0 for _ in range(cols)] for _ in range(rows)]
def calculate_element(A, B, i, j): sum_val = 0 for k in range(len(A[0])): sum_val += A[i][k] * B[k][j] return sum_val
def calculate_all_elements(A, B): rows_A = len(A) cols_B = len(B[0]) result = create_zero_matrix(rows_A, cols_B) for i in range(rows_A): for j in range(cols_B): result[i][j] = calculate_element(A, B, i, j) return result
def multiply(A, B): if not A or not B or not A[0] or not B[0]: return [] rows_A = len(A) cols_A = len(A[0]) rows_B = len(B) cols_B = len(B[0]) return calculate_all_elements(A, B)########## End ##########import myMatrixnum1 = int(input())num2 = int(input())
A = myMatrix.getMatrix(num1)print('A=')myMatrix.printMatrix(A)
B = myMatrix.getMatrix(num2)print('\nB=')myMatrix.printMatrix(B)
C=multiply(A, B)print('\nC=AxB=')myMatrix.printMatrix(C)第4关:验证哥德巴赫猜想
########## Begin ##########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 Goldbach(N): for N1 in range(2, N): N2 = N - N1 if N1 > N2: break if is_prime(N1) and is_prime(N2): return N1, N2########## End ##########N=int(input(''))N1,N2 = Goldbach(N)print('%d = %d + %d' % (N, N1, N2))第5关:实现欧拉函数
########## Begin ##########def Gcd(x,y): if x%y==0: return y return Gcd(y,x%y)def Phi(x): mdl = 0 for i in range(1,x+1): if Gcd(x,i)==1: mdl += 1 return mdl########## End ##########x = int(input())print(Phi(x))第6关:推翻欧拉的猜想
def f(x): # 定义欧拉素数函数f(x) return x * x + x + 41def is_prime(x): # 定义判断素数函数is_prime(x) if x == 2 : return True for i in range(2,x): if x % i == 0: return False return Truedef mindiv(x): # 定义求最小因子函数mindiv(x) for i in range(2,x): if x % i == 0: return i,x/i return 1,xi=1while is_prime(f(i)): # 循环判断欧拉素数是否为素数 print('f(%d)=%d是素数'%(i,f(i))) i = i+1x,y = mindiv(f(i)) # 求欧拉素数的最小因子print('f(%d)=%d=%d*%d不是素数'%(i,f(i),x,y)) 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
【课外拓展题】函数运用
https://blog.sherry.qzz.io/posts/python/1126fx/ 部分信息可能已经过时
相关文章 智能推荐
1
【第三周作业-1】Python列表
Python 11.17:1、计算标准差 2、计算向量内积 3、查找学生信息。
2
【第四周作业】Python综合练习题
Python 11.25:1、 打印右下三角 2、打印梯形 3、求给定范围内素数的个数 4、计算阶乘累加和。
3
【课外拓展题】Python列表
Python 11.22:1、 判断水仙花数 2、寻找自幂数 3、绘制钟形曲线 4、绘制大西洋中脊剖面轮廓 5、线性拟合。
4
【课外拓展题】信息编码1-二进制
Python 第1关:前苏联的黑科技 第2关:乘二取整 第3关:二进制到十进制 第4关:二进制到十六进制 第5关:二进制计量单位 第6关:逻辑运算 第7关:二进制加法 第8关:解析IP地址
5
【11.29测试】计算机导论阶段测试2-20251129
Python 11.29:1、成绩等级判定 2、输出1到n的平方 3.打印图形-沙漏 4.和亲数



























