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

Reply via email to