[issue462937] continue inside try confuses while loop

2022-04-10 Thread admin
Change by admin : -- github: None -> 35206 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

Re: on writing a while loop for rolling two dice

2021-09-19 Thread Hope Rouselle
dn writes: [...] > Further, if you look at the OP's original solution, it only publishes > the last pair, ie the match, without mention of the list of non-matches. > Was it perhaps only a means of testing the solution? It was a means of showing the student that indeed they obtained a match. If

Re: on writing a while loop for rolling two dice

2021-09-11 Thread Andrew Jaffe
On 11/09/2021 10:09, dn via Python-list wrote: The stated requirement is: "I'd like to get the number of times I tried". Given such: why bother with returning any of the pairs of values? Indeed, if that's the requirement, then you can do even better, noting that the probability of getting

Re: on writing a while loop for rolling two dice

2021-09-11 Thread Peter J. Holzer
On 2021-09-08 13:07:47 +1200, Greg Ewing wrote: > On 8/09/21 2:53 am, Grant Edwards wrote: > >#define IF if ( > >#define THEN ) { > >#define ELSE } else { > >#define ENDIF } > > I gather that early versions of some of the Unix utilities were > written by someone who liked using

Re: on writing a while loop for rolling two dice

2021-09-11 Thread dn via Python-list
On 11/09/2021 18.03, Chris Angelico wrote: > On Sat, Sep 11, 2021 at 3:26 PM dn via Python-list > wrote: >> >> On 31/08/2021 01.50, Chris Angelico wrote: >>> On Mon, Aug 30, 2021 at 11:13 PM David Raymond >>> wrote: > def how_many_times(): > x, y = 0, 1 > c = 0 >

Re: on writing a while loop for rolling two dice

2021-09-11 Thread Chris Angelico
On Sat, Sep 11, 2021 at 3:26 PM dn via Python-list wrote: > > On 31/08/2021 01.50, Chris Angelico wrote: > > On Mon, Aug 30, 2021 at 11:13 PM David Raymond > > wrote: > >> > >>> def how_many_times(): > >>> x, y = 0, 1 > >>> c = 0 > >>> while x != y: > >>> c = c + 1 > >>> x, y =

Re: on writing a while loop for rolling two dice

2021-09-10 Thread dn via Python-list
On 31/08/2021 01.50, Chris Angelico wrote: > On Mon, Aug 30, 2021 at 11:13 PM David Raymond > wrote: >> >>> def how_many_times(): >>> x, y = 0, 1 >>> c = 0 >>> while x != y: >>> c = c + 1 >>> x, y = roll() >>> return c, (x, y) >> >> Since I haven't seen it used in answers yet,

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Dennis Lee Bieber
On Wed, 8 Sep 2021 16:32:45 - (UTC), Grant Edwards declaimed the following: >On 2021-09-08, Dennis Lee Bieber wrote: > >> I spent close to 20 years (80s-90s) maintaining the /output/ of such >> a preprocessor. > >Ouch. I hope it paid well. ;) Only if one ignores the bloody cost of

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Dennis Lee Bieber
On Wed, 8 Sep 2021 14:46:28 - (UTC), Grant Edwards declaimed the following: >On 2021-09-08, charles hottel wrote: > >> So what do yoy think or feel about a language like RATFOR (Rational >> FORTRAN) which was implemented as macros? Should they instead have >> simply adapted themselves to

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Grant Edwards
On 2021-09-08, Dennis Lee Bieber wrote: > I spent close to 20 years (80s-90s) maintaining the /output/ of such > a preprocessor. Ouch. I hope it paid well. ;) Back when I did a lot of TeX/LaTeX stuff on VMS, I used to make occasional fixes and add (very minor) features to one of the dvi

RE: on writing a while loop for rolling two dice

2021-09-08 Thread Avi Gross via Python-list
customize Python to a point where it does things in fairly hidden ways too. There are no promises of purity. What this particular discussion began with was much lower level and about various ways of writing a while loop within very basic Python and seems to be heading away into discussions of other

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Dennis Lee Bieber
On Wed, 8 Sep 2021 00:24:44 +0100, Alan Gauld via Python-list declaimed the following: > >That was quite common in C before it became popular(early/mid 80s). >I've seen Pascal, Algol and Coral macro sets in use. >You could even download pre-written ones from various >bulletin boards (remember

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Grant Edwards
On 2021-09-08, charles hottel wrote: > So what do yoy think or feel about a language like RATFOR (Rational > FORTRAN) which was implemented as macros? The RATFOR implementations I've seen weren't done using macros. It was a preprocessor, yes. But it generates code for the various structured

Re: on writing a while loop for rolling two dice

2021-09-08 Thread Grant Edwards
On 2021-09-08, charles hottel wrote: > So what do yoy think or feel about a language like RATFOR (Rational > FORTRAN) which was implemented as macros? Should they instead have > simply adapted themselves to FORTRAN? That's an interesting question. If the langauge is complete, well-defined,

Re: on writing a while loop for rolling two dice

2021-09-08 Thread charles hottel
7, 2021 9:08 PM To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice On 8/09/21 2:53 am, Grant Edwards wrote: #define IF if ( #define THEN ) { #define ELSE } else { #define ENDIF } ... I gather that early versions of some of the Unix utilities

RE: on writing a while loop for rolling two dice

2021-09-07 Thread Avi Gross via Python-list
in another object means you over-rode the meaning of += for instance. -Original Message- From: Python-list On Behalf Of Richard Damon Sent: Tuesday, September 7, 2021 10:09 PM To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice On 9/7/21 3:51 PM, Avi Gross via

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Richard Damon
On 9/7/21 3:51 PM, Avi Gross via Python-list wrote: > and similarly changes any function imported directly > to also be fully qualified. One danger with this is that it can actual change the behavior of the program. Maybe more likely with global objects than functions, but still an issue.

RE: on writing a while loop for rolling two dice

2021-09-07 Thread Avi Gross via Python-list
@python.org Subject: Re: on writing a while loop for rolling two dice On 8/09/21 2:53 am, Grant Edwards wrote: >#define IF if ( >#define THEN ) { >#define ELSE } else { >#define ENDIF } >... I gather that early versions of some of the Unix utilities were written by so

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Greg Ewing
On 8/09/21 2:53 am, Grant Edwards wrote: #define IF if ( #define THEN ) { #define ELSE } else { #define ENDIF } ... I gather that early versions of some of the Unix utilities were written by someone who liked using macros to make C resemble Algol. I guess you can get away with

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Alan Gauld via Python-list
On 07/09/2021 15:53, Grant Edwards wrote: > I remember engineering manager I worked with about 35 years ago who > used a set of C macros to try to make his code look as much like BASIC > as possible: > > #define IF if ( > #define THEN ) { > #define ELSE } else { > #define ENDIF } > ...

RE: on writing a while loop for rolling two dice

2021-09-07 Thread Avi Gross via Python-list
Of alister via Python-list Sent: Tuesday, September 7, 2021 2:58 PM To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice On Tue, 07 Sep 2021 14:53:29 +, Grant Edwards wrote: > On 2021-09-06, Stefan Ram wrote: >> "Avi Gross" writes: >&g

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Dennis Lee Bieber
On Tue, 7 Sep 2021 16:08:04 +1200, Greg Ewing declaimed the following: >On 7/09/21 11:38 am, Avi Gross wrote: > >> #define INDEFINITELY_LOOP while (true) >> >> So, how to do something like that in python, is a challenge left to the user >> ? > >def hell_frozen_over(): > return False >

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Hope Rouselle
Grant Edwards writes: > On 2021-09-06, Stefan Ram wrote: >> "Avi Gross" writes: >>> In languages like C/C++ there are people who make up macros like: >>>#define INDEFINITELY_LOOP while (true) >>>Or something like that and then allow the preprocessor to replace >>>INDEFINITELY_LOOP with valid

Re: on writing a while loop for rolling two dice

2021-09-07 Thread alister via Python-list
On Tue, 07 Sep 2021 14:53:29 +, Grant Edwards wrote: > On 2021-09-06, Stefan Ram wrote: >> "Avi Gross" writes: >>> In languages like C/C++ there are people who make up macros like: >>>#define INDEFINITELY_LOOP while (true) >>>Or something like that and then allow the preprocessor to replace

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Grant Edwards
On 2021-09-06, Stefan Ram wrote: > "Avi Gross" writes: >> In languages like C/C++ there are people who make up macros like: >>#define INDEFINITELY_LOOP while (true) >>Or something like that and then allow the preprocessor to replace >>INDEFINITELY_LOOP with valid C code. > > Those usually are

Re: on writing a while loop for rolling two dice

2021-09-07 Thread Greg Ewing
On 7/09/21 11:38 am, Avi Gross wrote: #define INDEFINITELY_LOOP while (true) So, how to do something like that in python, is a challenge left to the user  def hell_frozen_over(): return False while not hell_frozen_over(): -- Greg --

RE: on writing a while loop for rolling two dice

2021-09-06 Thread Avi Gross via Python-list
-list@python.org Subject: Re: on writing a while loop for rolling two dice "Avi Gross" writes: > In languages like C/C++ there are people who make up macros like: >#define INDEFINITELY_LOOP while (true) >Or something like that and then allow the preprocessor to replace >INDEFINI

Non sequitur: on writing a while loop for rolling two dice

2021-09-06 Thread Dennis Lee Bieber
RESEND with clarification! On Mon, 6 Sep 2021 20:11:41 -0400, Avi Gross via Python-list declaimed the following: >changing. Ages ago we had code that processed MTA headers and every time we >had a meeting of standards bodies, we kept adding ever more headers and Why did my mind

Non sequitur: on writing a while loop for rolling two dice

2021-09-06 Thread Dennis Lee Bieber
On Mon, 6 Sep 2021 20:11:41 -0400, Avi Gross via Python-list declaimed the following: >changing. Ages ago we had code that processed MTA headers and every time we >had a meeting of standards bodies, we kept adding ever more headers and Why did my mind immediately flash on "The Man Who

RE: on writing a while loop for rolling two dice

2021-09-06 Thread Avi Gross via Python-list
To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice On 2021-09-06 at 20:11:41 -0400, Avi Gross via Python-list wrote: > And in the python version, has anyone made a generator that returned > NULL or the like so you can say uselessly: > > for ( _ in forever(

Re: on writing a while loop for rolling two dice

2021-09-06 Thread 2QdxY4RzWzUUiLuE
On 2021-09-06 at 20:11:41 -0400, Avi Gross via Python-list wrote: > And in the python version, has anyone made a generator that returned > NULL or the like so you can say uselessly: > > for ( _ in forever() ) ... while "forever": ... --

RE: on writing a while loop for rolling two dice

2021-09-06 Thread Avi Gross via Python-list
in the python version, has anyone made a generator that returned NULL or the like so you can say uselessly: for ( _ in forever() ) ... -Original Message- From: Python-list On Behalf Of Stefan Ram Sent: Monday, September 6, 2021 12:34 PM To: python-list@python.org Subject: Re: on

RE: on writing a while loop for rolling two dice

2021-09-06 Thread Avi Gross via Python-list
PM To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice On Sat, 4 Sep 2021 12:27:55 -0500, "Michael F. Stemper" declaimed the following: > >Kernighan and Ritchie agree(d) with you. Per _The C Programming >Language__: > Experience shows that

Re: on writing a while loop for rolling two dice

2021-09-06 Thread Dennis Lee Bieber
when condition" statement allows low-level emulation of any loop... (same as Python "if condition: break" loop-- "while" loop exit when not condition; ... end loop; loop-- "rep

RE: on writing a while loop for rolling two dice

2021-09-06 Thread Avi Gross via Python-list
al Message- From: Python-list On Behalf Of Hope Rouselle Sent: Thursday, September 2, 2021 10:42 AM To: python-list@python.org Subject: Re: on writing a while loop for rolling two dice David Raymond writes: >> def how_many_times(): >> x, y = 0, 1 >> c = 0 >> while x

Re: on writing a while loop for rolling two dice

2021-09-04 Thread Hope Rouselle
"Michael F. Stemper" writes: > On 04/09/2021 08.53, Hope Rouselle wrote: >> Chris Angelico writes: > >>> And at this point, it's looking pretty much identical to the for loop >>> version. Ultimately, they're all the same and you can pick and choose >>> elements from each of them. >> I see.

Re: on writing a while loop for rolling two dice

2021-09-04 Thread Hope Rouselle
t->8--- >> >> def how_many_times(): >> >> x, y = 0, 1 >> >> c = 0 >> >> while x != y: >> >> c = c + 1 >> >> x, y = roll() >> >> return c, (x, y) >> > >> >> >

Re: on writing a while loop for rolling two dice

2021-09-04 Thread Hope Rouselle
ve >> the readability here. > > It's on the cusp. When you ask someone to express the concept of "do > this until this happens", obviously that's a while loop; but as soon > as you introduce the iteration counter, it becomes less obvious, since > "iterate over co

Re: on writing a while loop for rolling two dice

2021-09-04 Thread Michael F. Stemper
On 04/09/2021 08.53, Hope Rouselle wrote: Chris Angelico writes: And at this point, it's looking pretty much identical to the for loop version. Ultimately, they're all the same and you can pick and choose elements from each of them. I see. That's why C must have added the do-while, but

Re: on writing a while loop for rolling two dice

2021-09-04 Thread Peter J. Holzer
> >> x, y = 0, 1 > >> c = 0 > >> while x != y: > >> c = c + 1 > >> x, y = roll() > >> return c, (x, y) > > > >> > >> Why am I unhappy? I'm wish I could confine x, y to the while loop. > >> The intro

Re: on writing a while loop for rolling two dice

2021-09-02 Thread lucas
def how_many_times(): x, y = 0, 1 c = 0 while x != y: c = c + 1 x, y = roll() return c, (x, y) Since I haven't seen it used in answers yet, here's another option using our new walrus operator def how_many_times(): roll_count = 1 while (rolls := roll())[0] !=

Re: on writing a while loop for rolling two dice

2021-09-02 Thread Chris Angelico
On Fri, Sep 3, 2021 at 4:51 AM Hope Rouselle wrote: > > Chris Angelico writes: > > > On Mon, Aug 30, 2021 at 11:13 PM David Raymond > > wrote: > >> > >> > def how_many_times(): > >> > x, y = 0, 1 > >> > c = 0 > >> > while x != y: > >> > c = c + 1 > >> > x, y = roll() > >> >

Re: on writing a while loop for rolling two dice

2021-09-02 Thread Chris Angelico
f "do this until this happens", obviously that's a while loop; but as soon as you introduce the iteration counter, it becomes less obvious, since "iterate over counting numbers until this happens" is a quite viable way to express this. However, if the students don't know itertools

Re: on writing a while loop for rolling two dice

2021-09-02 Thread Hope Rouselle
Chris Angelico writes: > On Mon, Aug 30, 2021 at 11:13 PM David Raymond > wrote: >> >> > def how_many_times(): >> > x, y = 0, 1 >> > c = 0 >> > while x != y: >> > c = c + 1 >> > x, y = roll() >> > return c, (x, y) >> >> Since I haven't seen it used in answers yet, here's

Re: on writing a while loop for rolling two dice

2021-09-02 Thread Hope Rouselle
David Raymond writes: >> def how_many_times(): >> x, y = 0, 1 >> c = 0 >> while x != y: >> c = c + 1 >> x, y = roll() >> return c, (x, y) > > Since I haven't seen it used in answers yet, here's another option using our > new walrus operator > > def how_many_times(): >

Re: on writing a while loop for rolling two dice

2021-09-02 Thread Hope Rouselle
1 >> x, y = roll() >> return c, (x, y) > >> >> Why am I unhappy? I'm wish I could confine x, y to the while loop. The >> introduction of ``x, y = 0, 1'' must feel like a trick to a novice. How >> would you write this? > >> r...@zedat.fu-ber

Re: on writing a while loop for rolling two dice

2021-08-30 Thread Peter Otten
On 30/08/2021 06:17, dn via Python-list wrote: OTOH the simulation of rolling n-number of dice, as would happen in the real-world, would be broken by making the computer's algorithm more efficient (rolling until the first non-equal value is 'found'). Does that mean the realism of the model

Re: on writing a while loop for rolling two dice

2021-08-30 Thread Chris Angelico
On Tue, Aug 31, 2021 at 12:28 AM Peter Otten <__pete...@web.de> wrote: > > On 30/08/2021 15:50, Chris Angelico wrote: > > > def how_many_times(): > > return next((count, rolls) for count, rolls in > > enumerate(iter(roll, None)) if len(Counter(rolls)) == 1) > > > That's certainly the most

Re: on writing a while loop for rolling two dice

2021-08-30 Thread Peter Otten
On 30/08/2021 15:50, Chris Angelico wrote: def how_many_times(): return next((count, rolls) for count, rolls in enumerate(iter(roll, None)) if len(Counter(rolls)) == 1) That's certainly the most Counter-intuitive version so far;) Do I get bonus points for it being a one-liner that

Re: on writing a while loop for rolling two dice

2021-08-30 Thread Chris Angelico
On Mon, Aug 30, 2021 at 11:13 PM David Raymond wrote: > > > def how_many_times(): > > x, y = 0, 1 > > c = 0 > > while x != y: > > c = c + 1 > > x, y = roll() > > return c, (x, y) > > Since I haven't seen it used in answers yet, here's another option using our > new walrus

RE: on writing a while loop for rolling two dice

2021-08-30 Thread David Raymond
> def how_many_times(): > x, y = 0, 1 > c = 0 > while x != y: > c = c + 1 > x, y = roll() > return c, (x, y) Since I haven't seen it used in answers yet, here's another option using our new walrus operator def how_many_times(): roll_count = 1 while (rolls := roll())[0]

Re: on writing a while loop for rolling two dice

2021-08-29 Thread dn via Python-list
On 30/08/2021 00.47, Peter Otten wrote: > On 29/08/2021 12:13, dn via Python-list wrote: >> On 29/08/2021 20.06, Peter Otten wrote: >> ... >>> OK, maybe a bit complicated... but does it pay off if you want to >>> generalize? >>> >> def roll_die(faces): >>>  while True: yield

Re: on writing a while loop for rolling two dice

2021-08-29 Thread Chris Angelico
On Mon, Aug 30, 2021 at 9:53 AM dn via Python-list wrote: > > On 29/08/2021 22.24, Chris Angelico wrote: > > On Sun, Aug 29, 2021 at 8:14 PM dn via Python-list > > wrote: > >> Efficiency: > >> - wonder how max( d ) == min( d ) compares for speed with the set() type > >> constructor? > > > > That

Re: on writing a while loop for rolling two dice

2021-08-29 Thread dn via Python-list
On 29/08/2021 22.24, Chris Angelico wrote: > On Sun, Aug 29, 2021 at 8:14 PM dn via Python-list > wrote: >> Efficiency: >> - wonder how max( d ) == min( d ) compares for speed with the set() type >> constructor? > > That may or may not be an improvement. > >> - alternately len( d ) < 2? >> - or

Re: on writing a while loop for rolling two dice

2021-08-29 Thread Peter Otten
On 29/08/2021 12:13, dn via Python-list wrote: On 29/08/2021 20.06, Peter Otten wrote: ... OK, maybe a bit complicated... but does it pay off if you want to generalize? def roll_die(faces): while True: yield random.randrange(1, 1 + faces) def hmt(faces, dies): for c, d in

Re: on writing a while loop for rolling two dice

2021-08-29 Thread Chris Angelico
On Sun, Aug 29, 2021 at 8:14 PM dn via Python-list wrote: > Efficiency: > - wonder how max( d ) == min( d ) compares for speed with the set() type > constructor? That may or may not be an improvement. > - alternately len( d ) < 2? > - or len( d ) - 1 coerced to a boolean by the if? Neither of

Re: on writing a while loop for rolling two dice

2021-08-29 Thread dn via Python-list
On 29/08/2021 20.06, Peter Otten wrote: ... > OK, maybe a bit complicated... but does it pay off if you want to > generalize? > def roll_die(faces): > while True: yield random.randrange(1, 1 + faces) > def hmt(faces, dies): > for c, d in enumerate(zip(*[roll_die(faces)]*dies),

Re: on writing a while loop for rolling two dice

2021-08-29 Thread Peter Otten
On 28/08/2021 14:00, Hope Rouselle wrote: def how_many_times(): x, y = 0, 1 c = 0 while x != y: c = c + 1 x, y = roll() return c, (x, y) --8<---cut here---end--->8--- Why am I unhappy? I'm wish I could confine x, y to the whil

RE: on writing a while loop for rolling two dice

2021-08-28 Thread Avi Gross via Python-list
And there is the ever popular recursive version you call with no while loop in sight. And, oddly, no variable declared in your main body: # CODE START --- import random def roll2(): return random.randint(1,6), random.randint(1,6) def roll_equal(counter): first, second = roll2

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Alan Gauld via Python-list
On 28/08/2021 21:50, Hope Rouselle wrote: >>> roll_count = 0 >>> while True: >>> outcome = roll_two_dice() >>> roll_count += 1 >>> if outcome[ 0 ]== outcome[ 1 ]: break >>> return roll_count, outcome[ 0 ] >> > > Wait, I'm surprised ``outcome'' is still a valid name at the >

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Terry Reedy
c = c + 1 x, y = roll() return c, (x, y) --8<---cut here---end--->8--- Why am I unhappy? I'm wish I could confine x, y to the while loop. The introduction of ``x, y = 0, 1'' must feel like a trick to a novice. How would you write this? Tha

Re: on writing a while loop for rolling two dice

2021-08-28 Thread dn via Python-list
> > Why am I unhappy? I'm wish I could confine x, y to the while loop. The > introduction of ``x, y = 0, 1'' must feel like a trick to a novice. How > would you write this? > r...@zedat.fu-berlin.de (Stefan Ram) writes: >> """Rolls two dice until both yield

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Hope Rouselle
Hope Rouselle writes: > r...@zedat.fu-berlin.de (Stefan Ram) writes: > >> Hope Rouselle writes: >>>How would you write this? >> >> """Rolls two dice until both yield the same value. >> Returns the number of times the two dice were rolled >> and the final value yielded.""" >> roll_count = 0 >>

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Hope Rouselle
r...@zedat.fu-berlin.de (Stefan Ram) writes: > Hope Rouselle writes: >>How would you write this? > > """Rolls two dice until both yield the same value. > Returns the number of times the two dice were rolled > and the final value yielded.""" > roll_count = 0 > while True: > outcome =

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Chris Angelico
;8--- > > Here's my solution: > > --8<---cut here---start->8--- > def how_many_times(): > x, y = 0, 1 > c = 0 > while x != y: > c = c + 1 > x, y = roll() > return c, (x, y) > --8<---cut her

Re: on writing a while loop for rolling two dice

2021-08-28 Thread Hope Rouselle
r...@zedat.fu-berlin.de (Stefan Ram) writes: > Hope Rouselle writes: >>Wait, I'm surprised ``outcome'' is still a valid name at the >>return-statement. Wasn't it defined inside the while? Shouldn't its >>scope be restricted to the while block? I had no idea. I should learn >>some Python. > >

on writing a while loop for rolling two dice

2021-08-28 Thread Hope Rouselle
0 while x != y: c = c + 1 x, y = roll() return c, (x, y) --8<---cut here---end------->8--- Why am I unhappy? I'm wish I could confine x, y to the while loop. The introduction of ``x, y = 0, 1'' must feel like a trick to a novice. How would you write this? Thank you! -- https://mail.python.org/mailman/listinfo/python-list

[issue41454] while loop bug on list

2020-08-01 Thread Dexter Ramos
Dexter Ramos added the comment: Thank you Mr. Erick Smith. Now I know. I also tried to find the hard way like this: finding nemo- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4] --->index [4, 1, 2, 5, 7, 4, 2, 8, 9, 5, 3, 2, 4, 6] --->original list /

[issue41454] while loop bug on list

2020-08-01 Thread Eric V. Smith
Eric V. Smith added the comment: You're mutating the list while iterating over it, which is causing the behavior you're seeing. This isn't a bug. See for example https://stackoverflow.com/questions/6260089/strange-result-when-removing-item-from-a-list Also, when reporting bugs in the

[issue41454] while loop bug on list

2020-08-01 Thread Dexter Ramos
74661 nosy: Dexter Ramos, paul.moore, steve.dower, tim.golden, zach.ware priority: normal severity: normal status: open title: while loop bug on list type: behavior versions: Python 3.8 Added file: https://bugs.python.org/file49356/app.py ___ Python track

Re: exiting a while loop

2020-05-23 Thread Grant Edwards
On 2020-05-22, DL Neil via Python-list wrote: > On 23/05/20 4:31 AM, Grant Edwards wrote: >> On 2020-05-22, Peter Otten <__pete...@web.de> wrote: >> >>> If you want to terminate the script you can use exit. However exit >>> is a function, and you have to call it >>> >>> exit() >> >> >> >>

Re: exiting a while loop

2020-05-23 Thread Terry Reedy
On 5/22/2020 12:31 PM, Grant Edwards wrote: On 2020-05-22, Peter Otten <__pete...@web.de> wrote: If you want to terminate the script you can use exit. However exit is a function, and you have to call it exit() Actually it's an instance of _sitebuiltins.Quitter not a function. Which

Re: exiting a while loop

2020-05-22 Thread DL Neil via Python-list
On 23/05/20 4:31 AM, Grant Edwards wrote: On 2020-05-22, Peter Otten <__pete...@web.de> wrote: If you want to terminate the script you can use exit. However exit is a function, and you have to call it exit() Actually it's an instance of _sitebuiltins.Quitter not a function. You still

Re: exiting a while loop

2020-05-22 Thread Grant Edwards
On 2020-05-22, Peter Otten <__pete...@web.de> wrote: > If you want to terminate the script you can use exit. However exit > is a function, and you have to call it > > exit() Actually it's an instance of _sitebuiltins.Quitter not a function. You still have to call it. ;) -- Grant --

Re: exiting a while loop

2020-05-22 Thread D'Arcy Cain
On 2020-05-22 7:49 a.m., John Yeadon via Python-list wrote: > Am I unreasonable in expecting this code to exit when required? Yes. > # Add up the powers of 2 starting with 2**0 until 2 million is met. > n = 1 > target = 200 > sum = 0 > > while True: >     x = 2 ** (n - 1) >     sum += x >   

Re: exiting a while loop

2020-05-22 Thread Dan Sommers
On Friday, May 22, 2020, at 7:49, John Yeadon via Python-list wrote: > Am I unreasonable in expecting this code to exit when required? Yes. :-) > # Add up the powers of 2 starting with 2**0 until 2 million is met. > n = 1 > target = 200 > sum = 0 > > while True: > x = 2 ** (n - 1) >

Re: exiting a while loop

2020-05-22 Thread Peter Otten
John Yeadon via Python-list wrote: > Am I unreasonable in expecting this code to exit when required? It is unreasonable to expect something that doesn't match what you read in the tutorial ;) If you want to terminate the script you can use exit. However exit is a function, and you have to

Re: exiting a while loop

2020-05-22 Thread Souvik Dutta
No not really. If you use a breakpoint and a debugger you will find out that your code continues till 2 M is met and then stops printing numbers continuously. On Fri, 22 May, 2020, 5:20 pm John Yeadon via Python-list, < python-list@python.org> wrote: > Am I unreasonable in expecting this code to

Re: exiting a while loop

2020-05-22 Thread Larry Martell
On Fri, May 22, 2020 at 7:51 AM John Yeadon via Python-list wrote: > > Am I unreasonable in expecting this code to exit when required? > > > # Add up the powers of 2 starting with 2**0 until 2 million is met. > n = 1 > target = 200 > sum = 0 > > while True: > x = 2 ** (n - 1) > sum

exiting a while loop

2020-05-22 Thread John Yeadon via Python-list
Am I unreasonable in expecting this code to exit when required? # Add up the powers of 2 starting with 2**0 until 2 million is met. n = 1 target = 200 sum = 0 while True: x = 2 ** (n - 1) sum += x print(n, sum) if sum >= target: print("Target met.") exit

[issue40310] If use element from for in while loop it will have bad iterate.

2020-04-17 Thread Maks Bleo
Change by Maks Bleo : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker ___ ___

[issue40310] If use element from for in while loop it will have bad iterate.

2020-04-17 Thread Maks Bleo
Maks Bleo added the comment: I don't think that it will overwrite element from for loop. In my mind it was a bug. Thank you. On Fri, Apr 17, 2020, 1:59 PM Rémi Lapeyre wrote: > > Rémi Lapeyre added the comment: > > Hi Maks, when you report a bug please write a minimal example that show >

[issue40310] If use element from for in while loop it will have bad iterate.

2020-04-17 Thread Rémi Lapeyre
Rémi Lapeyre added the comment: Hi Maks, when you report a bug please write a minimal example that show the bug so we don't have to read the whole application (https://stackoverflow.com/help/minimal-reproducible-example). I think in this case that the issue is that you overrride model on

[issue40310] If use element from for in while loop it will have bad iterate.

2020-04-17 Thread Maks Bleo
in line 52. (In comment fixed version) When while loop iterate on second step instead of using model[0], model[1] it start use model[1][0] and model[1][1]. On third step it crash, out of range. But if assign value before while loop and use it in while loop everything work fine. It's my first

Re: How can i stop this Infinite While Loop - Python

2019-11-01 Thread DL Neil via Python-list
stop this Infinite While Loop" is descriptive. Compared with some first-time poster's titles, this is clear and competent. Thanks! Thinking about it though, is there a hint of the nature of the problem, or even then an answer, in there? ie pausing to think about it, is the problem actually

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread Peter Otten
ferzan saglam wrote: > On Wednesday, October 30, 2019 at 2:19:32 PM UTC, Matheus Saraiva wrote: >> rounds = 0 >> while rounds <= 10: ... > Thanks, it Works superbly. > To get the limit of 10 i wanted, i had to make a slight change: > while rounds <= 9 . That's the (in)famous "off by

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread ferzan saglam
On Wednesday, October 30, 2019 at 2:19:32 PM UTC, Matheus Saraiva wrote: > m 30/10/2019 08:55, ferzan saglam escreveu: > > total = 0 > > while True: > > > >print('Cost of item') > >item = input() > > > >if item != -1: > > total += int(item) > >else: > > break > > > >

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread Irv Kalb
> On Oct 30, 2019, at 4:55 AM, ferzan saglam wrote: > > I have tried many ways to stop the infinite loop but my program doesn't seem > to stop after 10 items! It keeps going...!) > > --- > total = 0 > while True:

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread Gunnar Þór Magnússon
> item = input() > if item != -1: If you try this in the REPL, you'll see that 'item' is a string. You're trying to compare it to an integer, which will always fail. The cheapest way to fix this is probably: if item != '-1': Best, G --

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread Matheus Saraiva
m 30/10/2019 08:55, ferzan saglam escreveu: total = 0 while True: print('Cost of item') item = input() if item != -1: total += int(item) else: break print(total) The program does not stop because its code does not contain any deals that make the loop stop after 10

Re: How can i stop this Infinite While Loop - Python

2019-10-30 Thread Eko palypse
>From what I understand you want to give the user the possibility to try 10 times or enter -1 to end the script, right? If so, you need to check if item is -1 or total tries are already 10 and in such a case break the loop. No need for an else branch. Note, input returns an str object but you

How can i stop this Infinite While Loop - Python

2019-10-30 Thread ferzan saglam
I have tried many ways to stop the infinite loop but my program doesn't seem to stop after 10 items! It keeps going...!) --- total = 0 while True: print('Cost of item')

Re: possible bug in while loop test

2017-09-02 Thread MRAB
On 2017-09-02 18:53, Charles Hixson wrote: python3 --version Python 3.5.3 Running on Debian stretch In this code s is a string parameter while (j < k and \ (s[j].isalnum()) or \ (s[j] in seps and s[j+1].isalnum()) ): j = j + 1 print ("i = {0}, j =

Re: possible bug in while loop test

2017-09-02 Thread Peter Otten
Charles Hixson wrote: > python3 --version > Python 3.5.3 > > Running on Debian stretch > > In this code s is a string parameter > > while (j < k and \ > (s[j].isalnum()) or \ >(s[j] in seps and s[j+1].isalnum()) ): > j = j + 1 > print ("i = {0}, j =

possible bug in while loop test

2017-09-02 Thread Charles Hixson
python3 --version Python 3.5.3 Running on Debian stretch In this code s is a string parameter while (j < k and \ (s[j].isalnum()) or \ (s[j] in seps and s[j+1].isalnum()) ): j = j + 1 print ("i = {0}, j = {1}, k = {2}, len[s] = {3}". \ format(i,

[issue31156] Stopiteration terminates while-loop

2017-08-09 Thread Günter Rote
Günter Rote added the comment: Sorry, that was my misinterpretation of what happened. I had been stumbling over an old program I had written, but apparently it works because the while-loop is inside a generator function, and the StopIteration is simply passed on. Here is a small demonstration

[issue31156] Stopiteration terminates while-loop

2017-08-09 Thread R. David Murray
R. David Murray added the comment: >>> while True: ... raise StopIteration ... Traceback (most recent call last): File "", line 2, in StopIteration -- nosy: +r.david.murray ___ Python tracker

[issue31156] Stopiteration terminates while-loop

2017-08-09 Thread Günter Rote
New submission from Günter Rote: It should be mentioned in the documentation that A StopIteration exception raised in the body of a while loop will terminate (and is caught by) the while-loop, thus leading to graceful termination. A good place would be here: 1) https://docs.python.org/3

[issue29173] Python 3.6 on Windows wastes a lot of CPU cycles in a while loop

2017-01-05 Thread Eryk Sun
Changes by Eryk Sun : -- stage: -> resolved ___ Python tracker ___ ___ Python-bugs-list

[issue29173] Python 3.6 on Windows wastes a lot of CPU cycles in a while loop

2017-01-05 Thread Prahlad Yeri
Prahlad Yeri added the comment: Hi STINNER Victor, Thanks a lot, after adding the sleep function, it has stopped wasting the CPU cycles! A long while ago, I remember coding a similar loop in linux and not faced such issue, so I thought maybe it was a bug in 3.6. Anyway, I'm closing this.

  1   2   3   4   5   >