Python Progress: Coin Flip
Posted December 27th 2012 11:39 pm
Based on a conversation I had earlier today with Keat's brother, I took another whack at Python. I've been working on learning Python for a while, but never really got the hang of it since I'm mainly a PHP guy.
Anyway, based on some tutorials I learned today, I wrote a pretty nice Python script for calculating coin flips and reporting the outcome. Some of my Python-skilled friends may laugh, but I enjoyed writing this and testing my (limited) skills.
I've been trying to work on getting Python to work on the web, but my server doesn't really like WSGI or
Also, things may be changing at Shadow Development - could be for the worse or better. Personally, I think it will be for the better because I really enjoyed pushing my skillset and coding practices, so we'll see where it goes.
Anyway, based on some tutorials I learned today, I wrote a pretty nice Python script for calculating coin flips and reporting the outcome. Some of my Python-skilled friends may laugh, but I enjoyed writing this and testing my (limited) skills.
#!/usr/bin/python import time, random, os #clear the screen os.system('clear') #define H and T, making them floats H=T=0.0 #begin input max_num = raw_input("How many times do you want to flip a coin? ") if len(max_num)==0: #if no input, make 10 the default max_num = 10 print "No number specificed. Defalting to 10" max_num = int(max_num) #convert to integer to make the calcualtions work #little helpful tip if max_num >= 300: unit = str(round((max_num*.2)/60,2))+" minutes" else: unit = str(round(max_num*.2,2))+" seconds" print "It will take "+unit+" to complete" #flip the "coin" max_num times for x in range(0,max_num): coin = random.randrange(2) if coin == 0: print "Heads" #report H+=1 #record else: print "Tails" #report T+=1 #record time.sleep(.15) #take a small break #simple function to calcualte the percentage and report it, # instead of having to write this out more than once def report(text,side): perc = round((side/max_num)*100, 2) print text+": "+str(perc)+"%" #debugging #print "Heads: "+str(H)+" | Tails: "+str(T) #finalize the reports report("Heads", H) report("Tails", T) #Print the winning side #print "\n" if H>T: print '\033[1m'+"Heads Win!"+'\033[0m' elif T>H: print '\033[1m'+"Tails Win!"+'\033[0m' elif T==H: print "It's a tie!"
I've been trying to work on getting Python to work on the web, but my server doesn't really like WSGI or
mod_python
. I also tried TurboGears, but that didn't quite work as expected. I may be able to work on that better and get it incoroprated to to some Dynamic programming and offer that to clients.Also, things may be changing at Shadow Development - could be for the worse or better. Personally, I think it will be for the better because I really enjoyed pushing my skillset and coding practices, so we'll see where it goes.