python range() 可以用于for循环 ,和列表推导式。
使用方式: range(start, stop[, step])
- start: 计数从 start 开始。默认是从 0 开始。range(4) 相当于 range(0,4)
- stop: 计数到 stop 结束,不包括 stop。range(0,4) 表达 [0, 1, 2, 3]
- step:步长,默认为1。range(0,3) 相当于 range(0, 3, 1)
得到从2开始,小于100 的递增12的列表:
t=list(range(2,100,12))
print(t) #[2, 14, 26, 38, 50, 62, 74, 86, 98]
使用案例:
求交错序列前N项和:
输入正整数N,输入序列和,结果保留三位小数
1 - 2/3 + 3/5 - 4/7 + 5/9 - 6/11 + ......
用for循环实现:
n = int(input())
result = 0
for i in range(1,n+1):
if i%2 == 1:
result += i/(2*i - 1)
else:
result -= i/(2*i -1)
print("{:.3f}".format(result))
用列表推导式实现:
n = int(input())
alist = [i / (2 * i -1) if i%2 == 1 else -i / (2 * i -1) for i in range(1,n+1)]
print(alist) #[1.0, -0.6666666666666666, 0.6, -0.5714285714285714]
result = sum(alist)
print("{:.3}".format(result))