I barely started using Python today. I made a piece of code that calculates the value of PI for practice. You’re welcome to criticize, but politely, my first ever Python code.
I apology if this makes you unhappy because it doesn’t look like python code. Trust me. It will be a lot better if I keep using Python.
#!/usr/bin/python import time, threading class PrintValue(threading.Thread): def run(self): while 1: print x time.sleep(1.0) i = 1 x = 0.0 printvalue = PrintValue() printvalue.start() while 1: if(i%2): x += 4.0/(i*2-1) else: x -= 4.0/(i*2-1) i = i + 1
As you can see, this code will never stop. It will print out the value of PI every second. If you want to stop, give it a substitute character (Ctrl + Z).
Also, I believe this is not thread-safe. However, it probably won’t cause any problem because
PrintValue does not change the value of
x. The only possible problem here, as far as I can tell, is the inaccuracy of the value of
x printed on the screen at the moment when the statement
print x (under
PrintValue.run()) is executed. Well, the value of
x is an approximation of the value of PI anyway ;-)
- Fully utilizing two processor cores on my MacBook
- Measurement of time to calculate up to a certain number of digits