On Wed, 27 Aug 2014 09:16:43 +0200, Peter Otten <__pete...@web.de> wrote:
>Seymore4Head wrote: > >> On Mon, 25 Aug 2014 18:22:35 -0400, Terry Reedy <tjre...@udel.edu> >> wrote: >> >>>On 8/25/2014 4:14 PM, Seymore4Head wrote: >>>> import random >>>> sets=3 >>>> for x in range(0, sets): >>>> pb2=random.choice([1-53]) >>> >>>You want random.randint(1, 53) >>>... >>>> alist = sorted([pb1, pb2, pb3, pb4, pb5]) >>>> print ("Your numbers: {} Powerball: {}".format(alist, pb6)) >>>> >>>> I am trying this example. The program works, but the numbers don't >>>> line up if the number of digits are different sizes. >>>> http://openbookproject.net/pybiblio/practice/wilson/powerball.php >>> >>>To get them to line up, you have to format each one to the same width. >>> >>>> Suggestion please? >>>> BTW the exercise instructions say to use the choice function. >>> >>>import random >>>sets=3 >>> >>>def ran53(): >>> return random.randint(1, 53) >>> >>>f1 = '{:2d}' >>>bform = "Your numbers: [{0}, {0}, {0}, {0}, {0}]".format(f1) >>>pform = " Powerball: {0}".format(f1) >>> >>>for x in range(0, sets): >>> balls = sorted(ran53() for i in range(5)) >>> print(bform.format(*balls), pform.format(ran53())) >>> >> I modified your code to only use lotto numbers that don't repeat. I >> am sure there is a more elegant way to this too. >> >> import random >> sets=10 >> print ("How many sets of numbers? ",sets) >> >> f1 = '{:2d}' >> bform = "Your numbers: [{0}, {0}, {0}, {0}, {0}]".format(f1) >> pform = " Powerball: {0}".format(f1) >> >> for x in range(0, sets): >> balls = sorted(random.randint(1, 53) for i in range(5)) >> if balls[0]!= balls[1] and balls[1]!= balls[2] and balls[2]!= >> balls[3] and balls[3]!= balls[4]: > >A simpler test would be > > if len(set(balls)) == 5: > >> print(bform.format(*balls), pform.format(random.randint(1, >> 42))) >> sets=sets-1 > >It's not just elegance, the code is incorrect as it can print less than 10 >sets. > >Replace the for loop with a while loop, and only decrease sets when you >print a valid draw. > I will give those suggestions a try. Thanks -- https://mail.python.org/mailman/listinfo/python-list