On 11/20/2015 07:30 PM, Dylan Riley wrote:
i am learning python and was tasked with making a program that flips a coin 100
times and then tells you
the number of heads and tails.
I have done so coming up with this piece of work but it doesnt run can anyone
help me out?
#This is credited to dylan
print(" \\ \\ \\ \\ \\ \\ \\ \\ D FLIPS \\ \\ \\ \\ \\ \\ \\ \\")
print("\n\nThis is D's coin flipper program. You get 100 flips. \n\t LETS SEE HOW
LUCKY YOU ARE")
input("Press enter")
import random
heads = int("1")
tails = int("2")
flips = 100
headscount = 0
tailscount = 0
while flips != 0:
flips -= 1
result = random.randint(heads, tails)
if result = heads:
headscount += 1
else:
tailscount += 1
print(headscount, tailscount)
input("press enter to exit")
It doesn't run because it if full of errors, which have already been discussed
by others.
I just wanted to show you a (radically) different approach that you can study (or not... your
choice). I'm leaving out your heading and just showing the heart of the program. I am not
necessarily recommending this, I just wanted you to see a different way of looking at the
problem. Except for the initialization and printing of the results, the entire thing is done in
one two-line for loop.
<code>
from random import randint
# Put your heading text here...
HEADS = 0
TAILS = 1 # Note: Python _convention_ is to upper-case constants.
counts = [0, 0]
for flips in range(100):
counts[randint(0, 1)] += 1
print('Number of heads: ', counts[HEADS])
print('Number of tails: ', counts[TAILS])
</code>
Note that the HEADS and TAILS constants are only used in one place (the final print functions),
you could simply leave them out and directly use 0 and 1 in those final print()s.
-=- Larry -=-
--
https://mail.python.org/mailman/listinfo/python-list