यह तुच्छ होना चाहिए।

मैं निम्नलिखित की गणना करना चाहता हूं।

100*((1 + r)**n), n = 0, 1, 2, ..., N . के लिए

मैंने निम्नलिखित का उपयोग किया।

>>> list(itertools.accumulate([c0, range(5)], lambda w,r: w*(1.02**r)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <lambda>
TypeError: unsupported operand type(s) for ** or pow(): 'float' and 'range'```

0
deb 9 जुलाई 2021, 04:02

3 जवाब

सबसे बढ़िया उत्तर

ऐसा करने का एक तरीका सूची समझ होगा

[100*((1 + r)**n) for n in range(N)]

यह n, 0 <= n

2
Ali Soliman 9 जुलाई 2021, 01:10

संख्याओं की सूची बनाने के लिए आपको सीमा की आवश्यकता है; सूची में रेंज (5) डालने से वास्तव में सूची नहीं बनेगी:

list1 = [c0] + [i for i in range(5)]
0
Hammurabi 9 जुलाई 2021, 01:09

आपको अपने range को अनपैक करना होगा (स्टार, *):

list(itertools.accumulate([c0, *range(5)], lambda w,r: w*(1.02**r)))
2
MrGeek 9 जुलाई 2021, 01:14