[Tutor] taking support of strings in solving numerical problems
Manprit Singh
manpritsinghece at gmail.com
Mon Oct 26 06:18:36 EDT 2020
Hi all,
See all(iterable) will return True if iterable is empty also .
Regards
Manprit Singh
On Mon, Oct 26, 2020 at 3:40 PM dn via Tutor <tutor at python.org> wrote:
> On 26/10/2020 22:35, Cameron Simpson wrote:
> > On 26Oct2020 08:06, Alan Gauld <alan.gauld at yahoo.co.uk> wrote:
> >> On 26/10/2020 04:55, Cameron Simpson wrote:
> >>>> def ser_gen(no, order):
> >>>> f_no = no
> >>>> for i in range(order):
> >>>> yield f_no
> >>>> f_no = f_no*10 + no
> >>>>
> >>>> all(ser_gen(9, -3)) Returns True that says, there is an empty
> iterable
> >>>> inside all( )
> >>>
> >>> Returns True for me, too. Which is expected behaviour.
> >>>
> >>> It is not clear to me what your objection is about.
> >>
> >> To be honest it surprised me too. I expected the function to fall
> >> off the bottom and return none. But in fact it raises a
> >> StopIteration instead, which all() interprets as an empty sequence.
> >
> > It didn't surprise me. It is just end of execution of a generator
> function.
> > This is why I couldn't see what Manprit is concerned about.
>
>
> Obtaining same result to original code, but is the generator called
> correctly?
>
> >>> def ser_gen(no, order):
> ... f_no = no
> ... for i in range(order):
> ... yield f_no
> ... f_no = f_no*10 + no
> ...
> >>> all(ser_gen(9, -3))
>
> True
>
>
> ### What is really going-on?
> ### Simplifying:
>
> >>> print( ser_gen( 9, -3 ) )
> <generator object ser_gen at 0x7fd5cf446350>
>
> ### Even if the arguments are acceptable:
>
> >>> print(ser_gen(9, 3))
> <generator object ser_gen at 0x7fd5cf446350>
>
> Is the presence of an object 'truthy', hence the all() result?
> --
> Regards =dn
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list