Python:每日一题 15(答题领鱼币)
本帖最后由 新手·ing 于 2017-4-1 19:28 编辑题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
程序分析:无。
如果你认真答题,会得到鱼币奖励!!!
如果你认真答题,会得到鱼币奖励!!!
如果你认真答题,会得到鱼币奖励!!!
欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788 @lumber2388779
{:10_298:}点我上车 {:10_298:}
**** Hidden Message ***** @lumber2388779 @ooxx7788 @冬雪雪冬 @jerryxjr1220
来吧{:10_266:} 我输入,运行后显示无效语法。 yuclta 发表于 2017-4-1 19:26
我输入,运行后显示无效语法。
感谢你提出问题,我没有隐藏代码...
现在没问题了 写个简单的。
num = int(input('请输入数字:'))
print(sum()) 冬雪雪冬 发表于 2017-4-1 19:54
写个简单的。
编写一个函数...
冬雪大大要认真读题{:10_256:} 冬雪雪冬 发表于 2017-4-1 19:54
写个简单的。
但是还是学习了..大佬就是大佬{:10_277:} 新手·ing 发表于 2017-4-1 20:01
编写一个函数...
冬雪大大要认真读题
太粗心了,重新改过。
def sum1(n):
return sum()
if __name__ == '__main__':
num = int(input('请输入数字:'))
print(sum1(num)) 冬雪雪冬 发表于 2017-4-1 20:07
太粗心了,重新改过。
还是可怕...
厉害! 不能显示为分数,不精确 gopythoner 发表于 2017-4-1 20:18
不能显示为分数,不精确
凑合做吧... 这个题直接做的话,很简单,但是我觉得不能以分数的形式进行运行,从数学的意义来讲,不够精确
def test15(n):
s = 0
if n%2 ==0:
for i in range(1,n+1):
if i%2 ==0:
num = 1/i
s =s + num
print(s)
else:
for i in range(1,n+1):
if i%2 !=0:
num = 1/i
s =s + num
print(s)
if __name__ == '__main__':
test15(49) 冬雪雪冬 发表于 2017-4-1 19:54
写个简单的。
{:9_232:}
你这个就有点欺负人了 gopythoner 发表于 2017-4-1 20:23
你这个就有点欺负人了
嘻嘻 冬雪雪冬 发表于 2017-4-1 19:54
写个简单的。
2.591226249452671
2.5912262494526717
为什么用我的函数和你的函数得到的数值的精确度会不一样?
上面一个是我的,下面一个是你的,num=49算的 def f_even(x):
result=0
for i in range(2,x+1,2):
result+=1/i
return result
def f_odd(x):
result=0
for i in range(1,x+1,2):
result+=1/i
return result
num=int(input('请输入一个整数:'))
if num%2:
print(f_odd(num))
else:
print(f_even(num)) gopythoner 发表于 2017-4-1 20:22
这个题直接做的话,很简单,但是我觉得不能以分数的形式进行运行,从数学的意义来讲,不够精确
写个分数版的。
from fractions import Fraction
def sum1(n):
return sum()
if __name__ == '__main__':
num = int(input('请输入数字:'))
print(sum1(num)) gopythoner 发表于 2017-4-1 20:26
为什么用我的函数和你的函数得到的数值的精确度会不一样?
上面一个是我的,下面一个是你的,num=49 ...
还是系统的误差,可能我的是从大到小算的,你的是从小到大算的。 num = int(input('请输入数字:'))
print(sum())
冬雪雪冬 发表于 2017-4-1 20:34
写个分数版的。
{:10_319:}厉害啊