Description
定义函数fun(n)完成如下功能:如果n为奇数,输出表达式1+1/3+…+1/n的值;如果n为偶数,输出表达式1/2+1/4+…+1/n的值。 编写程序接收一个正整数n(n<=1000000),并进行正确性判断,非法则输出“输入不合法!”,否则调用函数fun输出表达式计算结果,结果保留 2 位小数。
Samples
输入数据 1
100
输出数据 1
2.25
输入数据 2
3567.9807
输出数据 2
输入不合法!
输入数据 3
0012345
输出数据 3
输入不合法!
代码:
# 定义fun函数
def fun(n):
summ = 0
if n % 2 == 0:
# 第一个2:从2开始遍历,第二个2:步长为2,每次隔空遍历
for i in range(2, n + 1, 2):
summ += float(1 / i)
# 输出小数点后2位的浮点数
print("%.2f" % summ)
else:
for i in range(1, n + 1, 2):
summ += float(1 / i)
print("%.2f" % summ)
try:
n = input()
# int(n)是为了防止以0开头的数据
if len(n) != len(str(int(n))) or 1000000 < int(n) or int(n) <= 0:
print("输入不合法!")
else:
fun(int(n))
except:
print("输入不合法!")
纯享版:
def fun(n):
summ = 0
if n % 2 == 0:
for i in range(2, n + 1, 2):
summ += float(1 / i)
print("%.2f" % summ)
else:
for i in range(1, n + 1, 2):
summ += float(1 / i)
print("%.2f" % summ)
try:
n = input()
if len(n) != len(str(int(n))) or 1000000 < int(n) or int(n) <= 0:
print("输入不合法!")
else:
fun(int(n))
except:
print("输入不合法!")