Python基础算法题01
- 题目描述
使用for循环编写程序实现以下功能:计算1-1/3+1/5-1/7+…-1/99+…。
输入格式:
输入该表达式的项数n。例如,如果输入2,则计算1-1/3;如果输入5,则计算1-1/3+1/5-1/7+1/9。
输出格式:
计算结果保留2位小数。 - 算法思路
分子都是1,分母为1,3,5,7,9…
如果使用for循环,for i in range(beg,end,step) end不可以省略,所以end不可以为分母,故end为输入的表达式的项数n ;步长为1;开始为1。
i: 1 2 3 4 …
分母:1 3 5 7 …
i 与分母之间的规律为: 2*i-1
i为奇数,+;i为偶数,-; - 算法流程图
- 语法格式
输入:eval(input())
其中,eval()是程序语言中的函数,功能是获取返回值
input()函数接受一个标准输入数据,返回为string类型。(就和for循环里面的可迭代对象对应上了)
for i in 可迭代的对象:
语句序列
if 条件1:
语句序列
else:
语句序列
可迭代的对象有: list、tuple、dict、set、str - 代码
n=eval(input())
s=0
for i in range(1,n+1):
if i%2==1:
s+=1/(2*i-1)
else:
s-=1/(2*i-1)
pass
print('%.2f'%s)