Python_作业5_循环结构
6-1 使用函数求特殊a串数列和
给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和
函数接口定义:
fn(a,n) 其中 a 和 n 都是用户传入的参数。 a 的值在[1, 9]范围;n 是[1, 9]区间内的个位数。函数须返回级数和
裁判测试程序样例:
/* 请在这里填写答案 */ a,b=input().split() s=fn(int(a),int(b)) print(s)
输入样例:
在这里给出一组输入。例如:
2 3
输出样例:
在这里给出相应的输出。例如:
246
代码:
def fn(a,n): s=0 p="" for i in range(n): p=str(a)*(i+1) s=s+int(p) return s
6-2 使用函数求余弦函数的近似值
本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):
函数接口定义:funcos(eps,x),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。
函数接口定义:
函数接口: funcos(eps,x),返回cos(x)的值。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如: /* 请在这里填写答案 */ eps,x=input().split() eps,x=float(eps),float(x) value=funcos(eps,x ) print("cos({0}) = {1:.4f}".format(x,value))
输入样例:
0.0001 -3.1
输出样例:
cos(-3.1) = -0.9991
代码:
def jc(n): s = 1 for i in range(1,n+1): s*=i return s def funcos(eps,x): s,sgn,i=0,1,0 err = sgn*(x**i)/jc(i) while abs(err) > eps or abs(err) == eps :#精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加): s += err sgn = -sgn i = i + 2 err = sgn*(x**i)/jc(i) return s
本文作者:万事胜意k
本文链接:https://www.cnblogs.com/ysk0904/p/17215388.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步