On 20/03/2013 19:20, Alister wrote:
On Wed, 20 Mar 2013 16:52:00 +0100, Peter Otten wrote:
Ana DionĂsio wrote:
So, I have this script that puts in a list every minute in 24 hours
hour=[]
i=0 t=-(1.0/60.0)
while i<24*60:
i = i+1 t = t+(1.0/60.0)
hour.append([t])
In many cases you can write
for i in range(...):
...
instead of incrementing manually.
When it is doing the cicle it can have all the decimal numbers, but I
need to print the result with only 4 decimal numbers
How can I define the number of decimal numbers I want to print in this
case? For example with 4 decimal numbers, it would print:
0.0000 0.0167 0.0333 ...
Can you help?
for i in range(24*60):
... print "{:.4f}".format(i/60.0)
...
0.0000 0.0167 0.0333 0.0500 [...]
23.9500 23.9667 23.9833
See also
<http://docs.python.org/2/library/string.html#format-specification-mini-
language>
and a list comprehension would streamline things further
t=[round(x*1.0/60),4 for x in range(1440)] #compatible with V2.7 & V3.0)
Really?
c:\Users\Mark\Python>python
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32
bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> t=[round(x*1.0/60),4 for x in range(1440)] #compatible with V2.7 &
V3.0)
File "<stdin>", line 1
t=[round(x*1.0/60),4 for x in range(1440)] #compatible with V2.7 &
V3.0)
^
SyntaxError: invalid syntax
--
Cheers.
Mark Lawrence
--
http://mail.python.org/mailman/listinfo/python-list