python课后练习整理(二)
本学习的课程Python程序设计的练习在拼题A上完成,为了记录学习过程,对课后练习进行整理
python练习05
1.使用函数求特殊a串数列和 (30 分)
给定两个均不超过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):
i = 0
x = 0 # 中间值
sum = 0
for i in range(n):
x = x * 10 + a # 中间值为前一个中间值*10+a
sum += x # 前n个x求和
return sum
思路:
刚开始的时候,是想着用字符串操作的,因为python可以字符串乘法复制
但是需要进行多次类型转换,太累,所以还是正常地用数学计算吧
2. 使用函数求余弦函数的近似值 (20 分)
本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):
cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?
函数接口定义:funcos(eps,x ),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。
函数接口定义:
函数接口:
funcos(eps,x ),返回cos(x)的值。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
/* 请在这里填写答案 */
eps=float(input())
x=float(i