Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #77111

Re: This formating is really tricky

From Peter Otten <__peter__@web.de>
Subject Re: This formating is really tricky
Date 2014-08-27 09:16 +0200
Organization None
References <na5nv9l1slfkh4038ppc6779pbgajbbt19@4ax.com> <mailman.13434.1409005368.18130.python-list@python.org> <osnpv9lj7ra5ho4pco48jqnmas25nal7gj@4ax.com>
Newsgroups comp.lang.python
Message-ID <mailman.13493.1409123816.18130.python-list@python.org> (permalink)

Show all headers | View raw


Seymore4Head wrote:

> On Mon, 25 Aug 2014 18:22:35 -0400, Terry Reedy <tjreedy@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.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 16:14 -0400
  Re: This formating is really tricky Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-25 21:52 +0100
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 23:12 -0400
  Re: This formating is really tricky Rustom Mody <rustompmody@gmail.com> - 2014-08-25 14:05 -0700
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 23:14 -0400
      Re: This formating is really tricky Larry Hudson <orgnut@yahoo.com> - 2014-08-26 23:46 -0700
        Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-27 09:36 -0400
  Re: This formating is really tricky Terry Reedy <tjreedy@udel.edu> - 2014-08-25 18:22 -0400
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 20:51 -0400
      Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 21:16 -0400
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-26 15:31 -0400
      Re: This formating is really tricky Peter Otten <__peter__@web.de> - 2014-08-27 09:16 +0200
        Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-27 09:35 -0400
  Re: This formating is really tricky Peter Otten <__peter__@web.de> - 2014-08-26 00:48 +0200
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 20:52 -0400
      Re: This formating is really tricky Joel Goldstick <joel.goldstick@gmail.com> - 2014-08-25 21:10 -0400
        Re: This formating is really tricky Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-08-26 18:17 +1200
          Re: This formating is really tricky Chris Angelico <rosuav@gmail.com> - 2014-08-26 16:22 +1000
        Re: This formating is really tricky alister <alister.nospam.ware@ntlworld.com> - 2014-08-26 09:27 +0000
          Re: This formating is really tricky Marko Rauhamaa <marko@pacujo.net> - 2014-08-26 12:32 +0300
            Re: This formating is really tricky alister <alister.nospam.ware@ntlworld.com> - 2014-08-26 10:32 +0000
      Re: This formating is really tricky Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-26 06:57 +0100
      Re: This formating is really tricky MRAB <python@mrabarnett.plus.com> - 2014-08-26 12:24 +0100
      Re: This formating is really tricky Joel Goldstick <joel.goldstick@gmail.com> - 2014-08-26 09:28 -0400
      Re: This formating is really tricky Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-26 17:09 +0100
      Re: This formating is really tricky Chris Angelico <rosuav@gmail.com> - 2014-08-27 02:13 +1000
      Re: This formating is really tricky Peter Otten <__peter__@web.de> - 2014-08-26 18:28 +0200
      Re: This formating is really tricky Chris Angelico <rosuav@gmail.com> - 2014-08-27 02:33 +1000
      Re: This formating is really tricky Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-26 18:19 +0100
        Re: This formating is really tricky Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-08-27 09:39 +1200
  Re: This formating is really tricky Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-26 12:45 +1000
    Re: This formating is really tricky Seymore4Head <Seymore4Head@Hotmail.invalid> - 2014-08-25 23:10 -0400
  Re: This formating is really tricky Gene Heskett <gheskett@wdtv.com> - 2014-08-26 14:50 -0400

csiph-web