[问题] (新手)循环计算问题

楼主: ChangYuuuuuu (小鲳鱼)   2018-07-27 13:50:02
小弟刚学习python不久
最近学了到了循环部分
有一题的题目如下
1/3+3/5+5/7+7/9+9/11........+(n-2)/(n)
用循环计算它的总和
样本:
输入:99
输出:total=45.12445
程式如下:
n=eval(input())
total=0
for i in range(n,2,-2):
total+=(i-2)/i
print("total=%.5f" %(total))
我不懂的是range(n,2,-2)这句
我有去查过像是range(1,30,5)
就会有5.10.15.20.25
可是n假如为99
不就等于99到2之间-2的值,可是之间并没有-2的值
麻烦大家帮我解惑了 感恩!
作者: ThxThx (洗洗睡)   2018-07-27 13:53:00
你有确定过range(1, 30, 5)是你讲的那样?
作者: djshen (djshen)   2018-07-27 14:04:00
你应该去查range三个参数是什么
作者: TuCH (谬客)   2018-07-27 14:04:00
试着用 print(list(range(1,30,5)) 和list(range(99,2,-2))验证自己的想法
作者: IAMPF (PF)   2018-07-27 14:34:00
请不要用eval你可以用int(input())
作者: renshin (阿信)   2018-07-27 16:35:00
99到2之间,递减2。推3楼,直接print出来你会很清楚
楼主: ChangYuuuuuu (小鲳鱼)   2018-07-29 11:38:00
感谢大家的回答,我已经搞懂囉 谢谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com