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


Groups > comp.lang.python > #108830 > unrolled thread

for / while else doesn't make sense

Started byHerkermer Sherwood <theherk@gmail.com>
First post2016-05-19 09:31 -0700
Last post2016-06-16 11:19 +1000
Articles 20 on this page of 282 — 43 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  for / while else doesn't make sense Herkermer Sherwood <theherk@gmail.com> - 2016-05-19 09:31 -0700
    Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-05-19 10:22 -0700
      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 04:02 +1000
      Re: for / while else doesn't make sense theherk@gmail.com - 2016-05-19 11:47 -0700
        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-19 23:28 +0300
        Re: for / while else doesn't make sense David Jardine <david@jardine.de> - 2016-05-19 21:49 +0200
    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 03:46 +1000
      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-19 17:55 +0000
        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 10:06 +1000
          Re: for / while else doesn't make sense gst <g.starck@gmail.com> - 2016-05-19 19:02 -0700
            Re: for / while else doesn't make sense Stephen Hansen <me+python@ixokai.io> - 2016-05-19 23:53 -0700
          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-20 11:55 +0000
            Re: for / while else doesn't make sense Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-20 19:57 -0400
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 21:26 +1000
            Re: for / while else doesn't make sense Ethan Furman <ethan@stoneleaf.us> - 2016-05-20 16:58 -0700
              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-21 00:24 +0000
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 13:50 +1000
                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 14:01 +1000
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 19:56 +1000
                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 20:08 +1000
                        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:55 +1000
                          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 21:10 +1000
          Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-21 08:20 +0100
            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 11:37 +0300
            Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:39 +1000
              Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-21 21:48 +0100
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-22 12:57 +1000
              Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-05-22 02:55 +0000
          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 17:29 +1000
        Re: for / while else doesn't make sense Bob Martin <bob.martin@excite.com> - 2016-05-20 07:45 +0100
      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-20 06:01 +1000
      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-19 14:11 -0600
      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-20 06:27 +1000
    Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-20 11:51 +1200
      Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-20 09:09 +0100
      Re: for / while else doesn't make sense Zachary Ware <zachary.ware+pylist@gmail.com> - 2016-05-20 10:59 -0500
      Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 12:20 -0700
        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 08:43 +1000
          Re: for / while else doesn't make sense theherk@gmail.com - 2016-05-20 16:24 -0700
            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 09:03 +0300
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 21:26 +1000
                Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-21 07:51 -0600
                Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-21 15:20 +0000
          Re: for / while else doesn't make sense Ben Finney <ben+python@benfinney.id.au> - 2016-05-21 10:21 +1000
          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-21 00:35 +0000
            Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 12:05 +1000
              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 14:15 +0000
                Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-22 17:58 +0300
                  Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 15:09 +0000
                  Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 08:26 -0700
                  Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 13:25 -0400
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 10:34 -0700
                    Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 18:06 +0000
                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 14:17 -0400
                    Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 17:09 +1000
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-23 01:19 +1000
                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 01:32 +1000
                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-22 18:50 +0300
                  Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 15:52 +0000
                    Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 02:35 +1000
                      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 16:46 +0000
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 10:22 -0700
                        Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 13:30 -0400
                          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 17:55 +0000
                            Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 14:14 -0400
                            Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-22 20:51 +0100
                              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 00:34 +0000
                            Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-22 17:04 -0600
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-23 08:09 +1000
                      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 00:36 +0000
                        Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 11:01 +1000
                          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 01:00 +0000
                            Re: for / while else doesn't make sense breamoreboy@gmail.com - 2016-05-22 18:47 -0700
                              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 15:35 +0000
                            Re: for / while else doesn't make sense MRAB <python@mrabarnett.plus.com> - 2016-05-23 02:51 +0100
                        Re: for / while else doesn't make sense Ben Finney <ben+python@benfinney.id.au> - 2016-05-23 14:13 +1000
                          Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 23:09 -0700
                            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-23 09:30 +0300
                              Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 23:46 -0700
                            Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 18:09 +1000
                              Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 08:14 -0600
                                Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 15:29 +0100
                                  Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 08:49 -0600
                                    Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-23 19:16 +0100
                                      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 13:24 -0600
                                        Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-23 22:50 +0100
                                          Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-24 18:49 +1200
                                            Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-24 19:03 +0100
                                              Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-25 18:35 +1200
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 10:38 +1000
                                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 00:57 +1000
                                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 01:47 +1000
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 01:57 +1000
                                    Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 17:51 +0100
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 02:59 +1000
                                        Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 20:55 +0100
                                          Re: for / while else doesn't make sense Mark Dickinson <mdickinson@enthought.com> - 2016-05-23 20:17 +0000
                                            Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 22:01 +0100
                                            Numerical methods [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-24 10:57 +1000
                                  Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-23 08:30 -0700
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 10:02 -0600
                                    Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-23 20:22 +0000
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 09:53 -0600
                                      When were real numbers born? (was for / while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-05-23 22:02 -0700
                                    Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-23 15:36 -0700
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 11:05 +1000
                                        Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-05-23 19:19 -0700
                                          META Culture of this place [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-25 02:43 +1000
                                            Re: META Culture of this place [was Re: for / while else doesn't make sense] boB Stepp <robertvstepp@gmail.com> - 2016-05-24 12:19 -0500
                                            Re: META Culture of this place [was Re: for / while else doesn't make sense] Ned Batchelder <ned@nedbatchelder.com> - 2016-05-24 10:44 -0700
                                              Re: META Culture of this place [was Re: for / while else doesn't make sense] Paul Rubin <no.email@nospam.invalid> - 2016-05-24 12:54 -0700
                                        Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-24 14:23 +0000
                                        Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-24 10:40 -0700
                                          Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-25 18:38 +1200
                                            Extended ASCII [was Re: for / while else doesn't make sense] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-25 17:30 +1000
                                            Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-25 02:10 -0700
                                              Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-25 20:19 +1000
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-25 20:30 +1000
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-25 22:03 +0100
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-26 10:21 +0300
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-26 00:44 -0700
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:11 +0300
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-26 19:20 +1000
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 21:54 +0100
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-27 08:03 +0300
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-25 21:28 -0400
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 09:11 +0100
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:20 +0300
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 21:29 +0100
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 00:12 +0300
                                                        Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 13:35 +1000
                                                          Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 09:10 +0300
                                                            Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 16:47 +1000
                                                              Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 10:04 +0300
                                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 19:56 +1000
                                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Random832 <random832@fastmail.com> - 2016-05-27 09:51 -0400
                                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-27 08:53 -0700
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Random832 <random832@fastmail.com> - 2016-05-27 12:09 -0400
                                                                        Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-05-27 21:46 -0700
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-28 08:16 -0700
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Ned Batchelder <ned@nedbatchelder.com> - 2016-05-28 08:50 -0700
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) Random832 <random832@fastmail.com> - 2016-05-28 14:05 -0400
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) Steven D'Aprano <steve@pearwood.info> - 2016-05-29 15:37 +1000
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-05-28 23:12 -0700
                                                                              Re: Coding systems are political (was Exended ASCII and code pages) Terry Reedy <tjreedy@udel.edu> - 2016-05-29 14:46 -0400
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) Christian Gollwitzer <auriocus@gmx.de> - 2016-05-29 22:29 +0200
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-30 06:35 -0700
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-06-04 20:54 -0700
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) alister <alister.ware@ntlworld.com> - 2016-05-29 06:19 +0000
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-29 20:54 +1200
                                                                              Re: Coding systems are political (was Exended ASCII and code pages) Marko Rauhamaa <marko@pacujo.net> - 2016-05-29 12:56 +0300
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-30 09:11 -0700
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-28 02:16 +1000
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-28 18:54 +1000
                                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 22:03 +0300
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-27 21:23 -0700
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-26 03:39 -0700
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-26 07:07 -0400
                                              Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-25 13:47 +0300
                                                Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-25 05:19 -0700
                                                Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-25 22:49 -0700
                                                  Re: for / while else doesn't make sense Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-26 09:54 +0300
                                                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-26 00:44 -0700
                                                    Re: for / while else doesn't make sense wxjmfauth@gmail.com - 2016-05-26 00:52 -0700
                                                  Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:05 +0300
                                                    Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-29 14:41 -0400
                                                      Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-29 22:01 +0300
                                    Re: for / while else doesn't make sense Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-23 20:07 -0400
                                    Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 10:11 +1000
                                  Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 02:59 +1000
                                    Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 17:09 +0000
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 03:33 +1000
                                        Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 17:57 +0000
                                          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 04:14 +1000
                                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-23 13:44 -0400
                                      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 11:52 -0600
                                      Re: for / while else doesn't make sense Alan Evangelista <alanoe@linux.vnet.ibm.com> - 2016-05-23 15:06 -0300
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 12:15 +1000
                                        Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-24 10:54 +0000
                                          Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-25 03:44 +1000
                                            Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-25 03:49 +1000
                                            Re: for / while else doesn't make sense MRAB <python@mrabarnett.plus.com> - 2016-05-24 19:57 +0100
                                            Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-24 20:10 +0000
                                    Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 20:29 +0100
                        Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 18:33 +1000
          Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-21 02:17 +0000
          Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 18:23 -0700
          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 12:31 +1000
          Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 20:47 -0700
        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-20 22:18 -0700
          Education [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:05 +1000
            Re: Education [was Re: for / while else doesn't make sense] Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-21 08:51 -0700
              Re: Education [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 20:08 +0300
                Re: Education [was Re: for / while else doesn't make sense] Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-05-23 16:44 +0000
    Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-01 16:39 -0700
      Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-02 13:44 +1000
      Re: for / while else doesn't make sense Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-06-02 20:09 +0000
        Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-02 14:46 -0600
        Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-02 21:52 +0100
          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 18:05 -0700
            Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-03 10:23 +0100
          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 19:47 -0700
            Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-03 10:32 +0100
              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 09:22 -0700
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 12:20 +1000
                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 20:41 -0700
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 19:27 +1000
                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-04 20:20 -0700
                Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-04 13:55 +0100
        Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 18:08 -0700
          Re: for / while else doesn't make sense Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-06-03 15:52 +0000
            Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 09:24 -0700
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 13:00 +1000
                Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 20:43 -0700
                  Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-04 04:37 -0700
                    Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-04 20:29 -0700
                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-05 16:35 +1000
                      Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-05 04:29 -0700
                        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-05 14:43 +0300
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-06 17:51 -0700
                            Re: for / while else doesn't make sense Dan Sommers <dan@tombstonezero.net> - 2016-06-07 03:34 +0000
                              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 00:53 -0700
                                Re: for / while else doesn't make sense Dan Sommers <dan@tombstonezero.net> - 2016-06-07 12:27 +0000
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 14:57 -0700
                            Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-06 22:35 -0600
                              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 00:52 -0700
                                Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-07 11:00 +0300
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 15:07 -0700
                                    Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-07 17:31 -0700
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 18:25 -0700
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 18:29 -0700
                                        Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-07 18:40 -0700
                                        Re: for / while else doesn't make sense breamoreboy@gmail.com - 2016-06-07 20:45 -0700
                                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 08:24 +0300
                                Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-07 18:36 +1000
                                Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-07 05:52 -0600
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 14:58 -0700
                                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 01:06 +0300
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 15:08 -0700
                                        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 08:27 +0300
                                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-08 17:34 -0700
                                            Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-09 18:19 +1000
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-07 17:11 -0600
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-06 17:53 -0700
      Re: for / while else doesn't make sense Ethan Furman <ethan@stoneleaf.us> - 2016-06-07 21:13 -0700
    Re: for / while else doesn't make sense pavlovevidence@gmail.com - 2016-06-12 00:01 -0700
      AttributeError into a bloc try-except AttributeError Vincent Vande Vyvre <vincent.vande.vyvre@telenet.be> - 2016-06-12 09:20 +0200
      Re: AttributeError into a bloc try-except AttributeError Vincent Vande Vyvre <vincent.vande.vyvre@telenet.be> - 2016-06-12 10:30 +0200
      Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-12 20:06 +1000
        Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-12 18:44 +0000
          Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-13 12:12 +1000
            Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-12 20:46 -0700
            Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-13 23:45 +0000
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-14 12:43 +1000
                Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-14 04:37 +0000
                Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 08:33 -0700
                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-14 16:27 -0700
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 18:29 -0700
                  Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-15 13:12 +1000
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 20:38 -0700
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 04:19 -0700
                      Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-15 13:27 +0100
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 05:44 -0700
                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 09:51 -0400
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 07:20 -0700
                          Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 11:54 -0400
                            Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 10:03 -0700
                              Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-15 18:27 +0100
                              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-16 11:40 +1000
                          Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-15 17:18 +0000
                          Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 13:41 -0400
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 07:31 -0700
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 19:59 -0700
                        Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 19:54 -0700
                          What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-15 22:48 -0700
                            Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 22:57 -0700
                              Re: What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-16 04:12 -0700
                                Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-16 18:53 -0700
                                  Re: What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-17 09:32 -0700
                                    Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-17 16:07 -0700
                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-06-15 23:56 +1000
                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-16 11:19 +1000

Page 9 of 15 — ← Prev page 1 … 7 8 [9] 10 11 … 15  Next page →


#109134

FromRustom Mody <rustompmody@gmail.com>
Date2016-05-25 22:49 -0700
Message-ID<e44bddde-5f4a-4174-a53b-d9c7fb869923@googlegroups.com>
In reply to#109111
On Wednesday, May 25, 2016 at 4:18:02 PM UTC+5:30, Marko Rauhamaa wrote:
> Christopher Reimer:
> 
> > Back in the early 1980's, I grew up on 8-bit processors and latin-1 was
> > all we had for ASCII.
> 
> You really were very advanced. According to <URL:
> https://en.wikipedia.org/wiki/ISO/IEC_8859-1#History>, ISO 8859-1 was
> standardized in 1985. "Eight-bit-cleanness" became a thing in the early
> 1990's.
> 
> Where I was in late 1980's, the terminals were still 7-bit, and
> instead of ASCII, national 7-bit character set variants were being used.
> For example, you might see Pascal code like this:
> 
>    ä return the net å
>    ret := grossÄunitÅ * grossRate
> 
> <URL: http://www.aivosto.com/vbtips/charsets-7bit.html>
> 
> > Over the last several days from reading this thread (and variations
> > thereof), l've seen several extended characters that I have no clue on
> > how to reproduce on my keyboard. I haven't embraced extended character
> > sets yet, which means I still think of ASCII characters as being 0
> > through 255 (8-bit).
> 
> But Latin-1 is on your fingertips? ¡Qué bueno! Entonces sabes dónde
> están las teclas españolas, ¿no?

Thanks to this (sub)thread Ive added a new section: "Lemma: 7=8"
here http://blog.languager.org/2014/04/unicode-and-unix-assumption.html

All contributors gratefully acknowledged!

[toc] | [prev] | [next] | [standalone]


#109137

FromJussi Piitulainen <jussi.piitulainen@helsinki.fi>
Date2016-05-26 09:54 +0300
Message-ID<lf5k2ihjomi.fsf@ling.helsinki.fi>
In reply to#109134
Rustom Mody writes:

> On Wednesday, May 25, 2016 at 4:18:02 PM UTC+5:30, Marko Rauhamaa wrote:
...
>> instead of ASCII, national 7-bit character set variants were being
>> used.  For example, you might see Pascal code like this:
>> 
>>    ä return the net å
>>    ret := grossÄunitÅ * grossRate
>> 
>> <URL: http://www.aivosto.com/vbtips/charsets-7bit.html>
...
> Thanks to this (sub)thread Ive added a new section: "Lemma: 7=8" here
> http://blog.languager.org/2014/04/unicode-and-unix-assumption.html

There may be a small inaccuracy at the point where you refer to
Latin[1-15]. There are 15 parts to ISO-8859, numbered from 1 to 16 (with
part 12 abandoned), but their numbers are not in synch with the Latin-N
nicknames. In particular, Latin-9 is 8859-15, while 8859-9 is Latin-5.
Some of the 8859-N are not Latin-anything.

https://en.wikipedia.org/wiki/ISO/IEC_8859

This important detail should fit well in your narrative :)

(Regarding Marko's 7-bit example, some terminals gave us a choice: they
could be toggled to show those certain codes as {[\|]} or as letters, it
was just not possible to see both at the same time.)

[toc] | [prev] | [next] | [standalone]


#109140

FromRustom Mody <rustompmody@gmail.com>
Date2016-05-26 00:44 -0700
Message-ID<a4897fb3-c782-4f84-b7ab-4133f71fa48a@googlegroups.com>
In reply to#109137
On Thursday, May 26, 2016 at 12:24:28 PM UTC+5:30, Jussi Piitulainen wrote:
> Rustom Mody writes:
> 
> > On Wednesday, May 25, 2016 at 4:18:02 PM UTC+5:30, Marko Rauhamaa wrote:
> ...
> >> instead of ASCII, national 7-bit character set variants were being
> >> used.  For example, you might see Pascal code like this:
> >> 
> >>    ä return the net å
> >>    ret := grossÄunitÅ * grossRate
> >> 
> >> <URL: http://www.aivosto.com/vbtips/charsets-7bit.html>
> ...
> > Thanks to this (sub)thread Ive added a new section: "Lemma: 7=8" here
> > http://blog.languager.org/2014/04/unicode-and-unix-assumption.html
> 
> There may be a small inaccuracy at the point where you refer to
> Latin[1-15]. There are 15 parts to ISO-8859, numbered from 1 to 16 (with
> part 12 abandoned), but their numbers are not in synch with the Latin-N
> nicknames. In particular, Latin-9 is 8859-15, while 8859-9 is Latin-5.
> Some of the 8859-N are not Latin-anything.
> 
> https://en.wikipedia.org/wiki/ISO/IEC_8859
> 
> This important detail should fit well in your narrative :)

Suggestions incorporated -- tnx

[toc] | [prev] | [next] | [standalone]


#109141

Fromwxjmfauth@gmail.com
Date2016-05-26 00:52 -0700
Message-ID<b2ed3af8-3652-4d49-85c6-c71d0aead1d6@googlegroups.com>
In reply to#109137
10 seconds to make Python 360a1 crash on my win
platform with an "é"; a char belonging to the
ISO-8859-1 coding scheme / characters set.

Not bad for an idiot.

[toc] | [prev] | [next] | [standalone]


#109144

FromMarko Rauhamaa <marko@pacujo.net>
Date2016-05-26 12:05 +0300
Message-ID<87bn3t8a0r.fsf@elektro.pacujo.net>
In reply to#109134
Rustom Mody <rustompmody@gmail.com>:

> On Wednesday, May 25, 2016 at 4:18:02 PM UTC+5:30, Marko Rauhamaa wrote:
>> Christopher Reimer:
>> 
>> > Back in the early 1980's, I grew up on 8-bit processors and latin-1 was
>> > all we had for ASCII.
>> 
>> You really were very advanced. According to <URL:
>> https://en.wikipedia.org/wiki/ISO/IEC_8859-1#History>, ISO 8859-1 was
>> standardized in 1985. "Eight-bit-cleanness" became a thing in the early
>> 1990's.
>
> [...]
>
> Thanks to this (sub)thread Ive added a new section: "Lemma: 7=8"
> here http://blog.languager.org/2014/04/unicode-and-unix-assumption.html

A related anecdote from maybe 1990: I worked in a project team. We had
designed a data encoding format that made use of 8-bit character strings
(SunOS 4, Sparc, C). One morning a coworker stated that the standard
library's strcmp() seems to be buggy. He quickly solved the problem by
writing his own strcmp().

I found it surprising that a function so elementary as strcmp() could go
wrong so I took a look at its disassembly. It turns out Sun engineers
had heavily optimized the function. In particular, if both strings were
32-bit-aligned, the loop was carried out using clever 32-bit integer
operations.

Only they had made a mistake. Their algorithm checked these bits of an
integer result:

   31            24              16               8               0
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ^             ^               ^               ^

While they *should* have checked these positions:


   31            24              16               8               0
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ^               ^               ^               ^

As a result of their bug, every fourth position of the string had its
high-order bit ignored for strcmp. In particular, '\200' was treated as
an end-of-string marker.

The fix was obvious: check bit 32. However, 32-bit integers don't have a
bit 32, which explains the oversight. Luckily, the 33th bit was readily
available in the CPU's carry flag so the optimization could be salvaged
easily.

I sent a complimentary report to Sun Microsystems' customer service. I
got an email back stating we were out of support and they wouldn't be
talking to us. I thought, ok, their loss, and we went happily forward
with our naïve, two-line strcmp() replacement.

Some three months later, the same customer service rep sent another
email confirming the finding and thanking us for reporting it.


Marko

[toc] | [prev] | [next] | [standalone]


#109240

FromRandom832 <random832@fastmail.com>
Date2016-05-29 14:41 -0400
Message-ID<mailman.28.1464547309.1839.python-list@python.org>
In reply to#109144
On Thu, May 26, 2016, at 05:05, Marko Rauhamaa wrote:
>    31            24              16               8               0
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>     ^             ^               ^               ^

How does someone write the constant "0x8101010" and not realize that
something's deeply wrong with their logic? I hope however it was
implemented made it less obvious than that.

[toc] | [prev] | [next] | [standalone]


#109243

FromMarko Rauhamaa <marko@pacujo.net>
Date2016-05-29 22:01 +0300
Message-ID<87d1o4eliy.fsf@elektro.pacujo.net>
In reply to#109240
Random832 <random832@fastmail.com>:

> On Thu, May 26, 2016, at 05:05, Marko Rauhamaa wrote:
>>    31            24              16               8               0
>>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>    | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
>>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>     ^             ^               ^               ^
>
> How does someone write the constant "0x8101010" and not realize that
> something's deeply wrong with their logic? I hope however it was
> implemented made it less obvious than that.

I don't know if the Sun Microsystems developer is around to answer the
question. However, judge not lest ye be judged...


Marko

[toc] | [prev] | [next] | [standalone]


#109032

FromDennis Lee Bieber <wlfraed@ix.netcom.com>
Date2016-05-23 20:07 -0400
Message-ID<mailman.40.1464048453.20402.python-list@python.org>
In reply to#109001
On Mon, 23 May 2016 09:53:12 -0600, Ian Kelly <ian.g.kelly@gmail.com>
declaimed the following:


>
>So 13th century European merchants would have been entirely incapable
>of cutting a cheese wheel in half in order to accommodate a customer
>who didn't the whole thing?
>

	Cutting a cheese wheel in half requires no number crunching... Simple
geometric bisection.

	Now... Figuring out how many pfennig to charge for that half wheel...
THAT requires number crunching <G>
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

[toc] | [prev] | [next] | [standalone]


#109034

FromChris Angelico <rosuav@gmail.com>
Date2016-05-24 10:11 +1000
Message-ID<mailman.42.1464048690.20402.python-list@python.org>
In reply to#109001
On Tue, May 24, 2016 at 10:07 AM, Dennis Lee Bieber
<wlfraed@ix.netcom.com> wrote:
>         Now... Figuring out how many pfennig to charge for that half wheel...
> THAT requires number crunching <G>

Nah, you just take the number of pfennig you would have charged, and
charge that many halbpfennig instead. At least, that's what you'd do
in the Grand Duchy ruled over by the miserly Rudolph.

ChrisA

[toc] | [prev] | [next] | [standalone]


#109009

FromSteven D'Aprano <steve@pearwood.info>
Date2016-05-24 02:59 +1000
Message-ID<574336f5$0$1600$c3e8da3$5496439d@news.astraweb.com>
In reply to#108996
On Tue, 24 May 2016 12:29 am, Ben Bacarisse wrote:

> Ian Kelly <ian.g.kelly@gmail.com> writes:
> 
>> On Mon, May 23, 2016 at 2:09 AM, Steven D'Aprano
>> <steve+comp.lang.python@pearwood.info> wrote:
>>> Are you saying that the Egyptians, Babylonians and Greeks didn't know
>>> how to work with fractions?
>>>
>>> http://mathworld.wolfram.com/EgyptianFraction.html
>>>
>>> http://nrich.maths.org/2515
>>>
>>> Okay, it's not quite 4000 years ago. Sometimes my historical sense of
>>> the distant past is a tad inaccurate. Shall we say 2000 years instead?
>>
>> Those links give dates of 1650 BC and 1800 BC respectively, so I'd say
>> your initial guess was closer.
> 
> Right, but this is to miss the point.  Let's say that 4000 years have
> defined 1/3 to be one third, but Python 3 (as do many programming
> languages) defines 1/3 to be something very very very very close to one
> third, and *that* idea is very very very very new!  It's unfortunate
> that the example in this thread does not illustrate the main problem of
> shifting to binary floating point, because 1/2 happens to be exactly
> representable.

That's not really the point. I acknowledge that floats do not represent all
rational numbers (a/b) exactly. Neither do decimal floats -- most school
children will learn that 0.333333333333 is not 1/3 exactly, and anyone who
has used a calculator will experience calculations that give (say)
0.999999999 or 1.0000000001 instead of 1.

And you know what? *People cope.*

For all the weirdness of floating point, for all the rounding errors and
violations of mathematical properties, floating point maths is *still* the
best way to perform numerical calculations for many purposes.

In fact, even IEEE-754 arithmetic, which is correctly rounded and therefore
introduces the least possible rounding error, is sometimes "too good" --
people often turn to GPUs instead of CPUs for less accurate but faster bulk
calculations.

The point is, most people wouldn't really care that much whether 1/3
returned a binary 0.3333333333, or decimal 0.3333333333, or an exact
rational fraction 1/3. Most people wouldn't care too much if they got
32-bits of precision or 64, or 10 decimal places or 18. When cutting (say)
a sheet of paper into three equal pieces, they are unlikely to be able to
measure and cut with an accuracy better than 1/2 of a millimeter, so 15
decimal places is overkill.

But one thing is certain: very few people, Jon Ribbens being one of them,
expects 1/3 to return 0. And that is why Python changed the meaning of
the / operator: because using it for integer division was deeply unpopular
and a bug magnet.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#109012

FromJon Ribbens <jon+usenet@unequivocal.co.uk>
Date2016-05-23 17:09 +0000
Message-ID<slrnnk6egu.krr.jon+usenet@wintry.unequivocal.co.uk>
In reply to#109009
On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
> But one thing is certain: very few people, Jon Ribbens being one of them,
> expects 1/3 to return 0. And that is why Python changed the meaning of
> the / operator: because using it for integer division was deeply unpopular
> and a bug magnet.

Making it return floats is also a bug magnet, just for more subtle
bugs that are harder to diagnose.

[toc] | [prev] | [next] | [standalone]


#109013

FromChris Angelico <rosuav@gmail.com>
Date2016-05-24 03:33 +1000
Message-ID<mailman.28.1464024837.20402.python-list@python.org>
In reply to#109012
On Tue, May 24, 2016 at 3:09 AM, Jon Ribbens
<jon+usenet@unequivocal.co.uk> wrote:
> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
>> But one thing is certain: very few people, Jon Ribbens being one of them,
>> expects 1/3 to return 0. And that is why Python changed the meaning of
>> the / operator: because using it for integer division was deeply unpopular
>> and a bug magnet.
>
> Making it return floats is also a bug magnet, just for more subtle
> bugs that are harder to diagnose.

See my earlier post. There are four broadly-viable options: int,
float, Fraction, Decimal. *Every one of them* is a bug magnet in one
way or another. Which kind of bug would you like?

* 1235678678/3 == 411892892
* (1/3) + (1/3) + (1/3) != 1
* x != x + 0
* useless reprs after a few rounds of addition

Take your pick. :)

By the way, did you know that Python has support for fraction
literals? Just put this at the top of your code:

import fractions; f = fractions.Fraction(1)

and then you can use the special "tagged literal" syntax, like with
special forms of string literal:

>>> f*22/7 + f*2/11
Fraction(256, 77)

There's even a short-hand form for the common case where the numerator is 1:

>>> f/2 + f/3
Fraction(5, 6)

Very handy, particularly interactively. :)

ChrisA

[toc] | [prev] | [next] | [standalone]


#109017

FromJon Ribbens <jon+usenet@unequivocal.co.uk>
Date2016-05-23 17:57 +0000
Message-ID<slrnnk6hb4.krr.jon+usenet@wintry.unequivocal.co.uk>
In reply to#109013
On 2016-05-23, Chris Angelico <rosuav@gmail.com> wrote:
> On Tue, May 24, 2016 at 3:09 AM, Jon Ribbens
><jon+usenet@unequivocal.co.uk> wrote:
>> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
>>> But one thing is certain: very few people, Jon Ribbens being one of them,
>>> expects 1/3 to return 0. And that is why Python changed the meaning of
>>> the / operator: because using it for integer division was deeply unpopular
>>> and a bug magnet.
>>
>> Making it return floats is also a bug magnet, just for more subtle
>> bugs that are harder to diagnose.
>
> See my earlier post. There are four broadly-viable options: int,
> float, Fraction, Decimal. *Every one of them* is a bug magnet in one
> way or another. Which kind of bug would you like?

The simplest one - isn't that obvious from what I've already said? 

[toc] | [prev] | [next] | [standalone]


#109018

FromChris Angelico <rosuav@gmail.com>
Date2016-05-24 04:14 +1000
Message-ID<mailman.31.1464027279.20402.python-list@python.org>
In reply to#109017
On Tue, May 24, 2016 at 3:57 AM, Jon Ribbens
<jon+usenet@unequivocal.co.uk> wrote:
> On 2016-05-23, Chris Angelico <rosuav@gmail.com> wrote:
>> On Tue, May 24, 2016 at 3:09 AM, Jon Ribbens
>><jon+usenet@unequivocal.co.uk> wrote:
>>> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
>>>> But one thing is certain: very few people, Jon Ribbens being one of them,
>>>> expects 1/3 to return 0. And that is why Python changed the meaning of
>>>> the / operator: because using it for integer division was deeply unpopular
>>>> and a bug magnet.
>>>
>>> Making it return floats is also a bug magnet, just for more subtle
>>> bugs that are harder to diagnose.
>>
>> See my earlier post. There are four broadly-viable options: int,
>> float, Fraction, Decimal. *Every one of them* is a bug magnet in one
>> way or another. Which kind of bug would you like?
>
> The simplest one - isn't that obvious from what I've already said?

Gotcha. You're advocating Fraction, which has no bugs whatsoever. Of
course, it doesn't give you any more numbers than int gives you [1],
but at least it doesn't restrict you to crazy things like only
fifty-three significant digits [2] in its binary representation. And
it's really easy to work with; performance is predictable (it's just
two integers, and we know that the performance of integers is
predictable), and they're easy to eyeball.

ChrisA

[1] Rationals and integers are both "countably infinite" - there are
as many of each as there are counting numbers, odd numbers, prime
numbers, squares, Fibonacci numbers, and dates in the Julian calendar.
And dates that nerds didn't get because they were too busy proving
which things are countably infinite and which aren't.
[2] The number of the Love Bug. This is probably significant.

[toc] | [prev] | [next] | [standalone]


#109014

FromRandom832 <random832@fastmail.com>
Date2016-05-23 13:44 -0400
Message-ID<mailman.29.1464025463.20402.python-list@python.org>
In reply to#109012
On Mon, May 23, 2016, at 13:33, Chris Angelico wrote:
> and then you can use the special "tagged literal" syntax, like with
> special forms of string literal:
> 
> >>> f*22/7 + f*2/11
> Fraction(256, 77)

I like the infix fraction literal syntax better: 22/f/7 + 2/f/11.

[toc] | [prev] | [next] | [standalone]


#109015

FromIan Kelly <ian.g.kelly@gmail.com>
Date2016-05-23 11:52 -0600
Message-ID<mailman.30.1464026021.20402.python-list@python.org>
In reply to#109012
On Mon, May 23, 2016 at 11:44 AM, Random832 <random832@fastmail.com> wrote:
> On Mon, May 23, 2016, at 13:33, Chris Angelico wrote:
>> and then you can use the special "tagged literal" syntax, like with
>> special forms of string literal:
>>
>> >>> f*22/7 + f*2/11
>> Fraction(256, 77)
>
> I like the infix fraction literal syntax better: 22/f/7 + 2/f/11.

Sadly, the postfix syntax 22/7**f is a total failure.

[toc] | [prev] | [next] | [standalone]


#109031

FromAlan Evangelista <alanoe@linux.vnet.ibm.com>
Date2016-05-23 15:06 -0300
Message-ID<mailman.39.1464047887.20402.python-list@python.org>
In reply to#109012

On 05/23/2016 02:52 PM, Ian Kelly wrote:
> On Mon, May 23, 2016 at 11:44 AM, Random832 <random832@fastmail.com> wrote:
>> On Mon, May 23, 2016, at 13:33, Chris Angelico wrote:
>>> and then you can use the special "tagged literal" syntax, like with special forms of string 
>>> literal:
>>>>>> f*22/7 + f*2/11
>>> Fraction(256, 77)
>> I like the infix fraction literal syntax better: 22/f/7 + 2/f/11.
> Sadly, the postfix syntax 22/7**f is a total failure.

It seems this discussion has nothing to do with for/while else anymore.... I suggest you rename the 
subject.

[toc] | [prev] | [next] | [standalone]


#109039

FromSteven D'Aprano <steve@pearwood.info>
Date2016-05-24 12:15 +1000
Message-ID<5743b93e$0$1589$c3e8da3$5496439d@news.astraweb.com>
In reply to#109012
On Tue, 24 May 2016 03:09 am, Jon Ribbens wrote:

> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
>> But one thing is certain: very few people, Jon Ribbens being one of them,
>> expects 1/3 to return 0. And that is why Python changed the meaning of
>> the / operator: because using it for integer division was deeply
>> unpopular and a bug magnet.
> 
> Making it return floats is also a bug magnet, just for more subtle
> bugs that are harder to diagnose.


Floating point arithmetic does contain traps for the unwary, sometimes very
subtle ones. But they aren't *bugs* -- they're inherent in the nature of
floating point arithmetic.

Using / for integer division is a bug magnet. See my response to
the "Interfacing a dynamic shared library gives me different results in 2.7
versus 3.5" thread:

https://mail.python.org/pipermail/python-list/2016-May/709330.html

The old way of using / was a bug magnet, because people would write code
like this:

def harmonic_mean(values):
    n = len(values)
    total = sum(1/x for x in values)
    return n/total


and test it with floats:

py> harmonic_mean([1.0, 2.0, 4.0])
1.7142857142857142

which matches the exact result of 12/7. And then some day somebody sneaks in
an integer by mistake, and the result goes completely to hell:

py> harmonic_mean([1.0, 2, 4.0])
2.4


Changing / to perform true division slays this particular bug magnet,
without introducing any new ones.


Floats themselves are an abstraction for real mathematical arithmetic.
(Perhaps a better term is "reification".) And for most purposes, they work
well-enough, especially with IEE-754 arithmetic. You can write a lot of
naive maths code treating floats as if they were exact Real numbers, and
with a few judicious tweaks to your printing routines, nobody will know the
difference.

But all abstractions (and reifications) leak:

http://www.joelonsoftware.com/articles/LeakyAbstractions.html

and floats are no exception. But what are you going to do? Use integer
maths? You still have to deal with rounding error.

In Australia, we have an 11% consumption tax, the GST. I cannot tell you how
many times I've needed to add a 1 cent "Rounding" amount on invoices to get
the results to work out correctly. E.g. if an item costs $17 including tax,
then you have a choice in rounding the tax-free cost down to $15.31 or up
to $15.32, depending on the rounding mode, which in turn gives you the
tax-inclusive cost of either $16.99 or $17.01. Either way you need a one
cent adjustment.

If you use integer maths, it always rounds down:

py> 1700*100//111  # $17.00/1.11 calculated in cents
1531
py> 1531*111//100
1699

(Reminds me of using Forth without a floating point stack.) The right
solution is actually to use a Decimal format, or a correctly rounded
IEEE-754 integer format. But even that will still leak somewhere.

Using integers in this case is not only *harder* than using floats, but it's
more likely to go wrong. Because integer division always rounds down,
errors accumulate faster than with floats, where calculations will be
correctly rounded to minimize the error.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#109054

FromJon Ribbens <jon+usenet@unequivocal.co.uk>
Date2016-05-24 10:54 +0000
Message-ID<slrnnk8ctb.krr.jon+usenet@wintry.unequivocal.co.uk>
In reply to#109039
On 2016-05-24, Steven D'Aprano <steve@pearwood.info> wrote:
> On Tue, 24 May 2016 03:09 am, Jon Ribbens wrote:
>> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
>>> But one thing is certain: very few people, Jon Ribbens being one of them,
>>> expects 1/3 to return 0. And that is why Python changed the meaning of
>>> the / operator: because using it for integer division was deeply
>>> unpopular and a bug magnet.
>> 
>> Making it return floats is also a bug magnet, just for more subtle
>> bugs that are harder to diagnose.
>
> Floating point arithmetic does contain traps for the unwary, sometimes very
> subtle ones. But they aren't *bugs* -- they're inherent in the nature of
> floating point arithmetic.

You seem to be repeatedly changing your mind as to which behaviours are
"bugs" and which are not. I didn't say that floating point is buggy
(whatever that would even mean), I said that using it attracts bugs
due to people misunderstanding how it works.

> In Australia, we have an 11% consumption tax, the GST. I cannot tell you how
> many times I've needed to add a 1 cent "Rounding" amount on invoices to get
> the results to work out correctly.

Indeed. Using floats for currency calculations is one of the many
traps they present, and an excellent example of why their use should
not be encouraged.

> E.g. if an item costs $17 including tax, then you have a choice in
> rounding the tax-free cost down to $15.31 or up to $15.32,

I very much doubt that you have any such choice - it will usually
be specified by the tax regulations. The correct way to do currency
stuff is either integers or Decimal.

> Using integers in this case is not only *harder* than using floats, but it's
> more likely to go wrong. Because integer division always rounds down,
> errors accumulate faster than with floats, where calculations will be
> correctly rounded to minimize the error.

You are falling into the float trap again. This is not how you do
accounting.

[toc] | [prev] | [next] | [standalone]


#109074

FromSteven D'Aprano <steve@pearwood.info>
Date2016-05-25 03:44 +1000
Message-ID<574492f9$0$1600$c3e8da3$5496439d@news.astraweb.com>
In reply to#109054
On Tue, 24 May 2016 08:54 pm, Jon Ribbens wrote:

> On 2016-05-24, Steven D'Aprano <steve@pearwood.info> wrote:
>> On Tue, 24 May 2016 03:09 am, Jon Ribbens wrote:
>>> On 2016-05-23, Steven D'Aprano <steve@pearwood.info> wrote:
[...]
>> In Australia, we have an 11% consumption tax, the GST. I cannot tell you
>> how many times I've needed to add a 1 cent "Rounding" amount on invoices
>> to get the results to work out correctly.
> 
> Indeed. Using floats for currency calculations is one of the many
> traps they present, and an excellent example of why their use should
> not be encouraged.

How do you know the software uses floats?

I haven't told you the name of the accounting software I use. It is
proprietary software, so the source code is unavailable. Unless you work
for the company in question, I doubt you would know what implementation
they use.

But worse, you ignored my example where I showed that using integer
arithmetic also generates the same kind of off by one cent errors.


>> E.g. if an item costs $17 including tax, then you have a choice in
>> rounding the tax-free cost down to $15.31 or up to $15.32,
> 
> I very much doubt that you have any such choice - it will usually
> be specified by the tax regulations.

This is not a matter about the GST legislation. It is a matter of
mathematics that using integer or fixed point arithmetic is vulnerable to
the same sorts of rounding errors as floating point arithmetic.

(Using integers is equivalent to fixed point arithmetic with an implicit
decimal point.)


> The correct way to do currency stuff is either integers or Decimal.

You're repeating my words back at me. I already said that.


>> Using integers in this case is not only *harder* than using floats, but
>> it's more likely to go wrong. Because integer division always rounds
>> down, errors accumulate faster than with floats, where calculations will
>> be correctly rounded to minimize the error.
> 
> You are falling into the float trap again. This is not how you do
> accounting.

Did you look at the code I showed? I'm not using floats. I'm using integers,
counting in cents.

If you're just going to automatically gainsay everything I say without even
reading what I say first, well, you're no John Cleese.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


Page 9 of 15 — ← Prev page 1 … 7 8 [9] 10 11 … 15  Next page →

Back to top | Article view | comp.lang.python


csiph-web