On 03/10/17 18:29, Stefan Ram wrote:
   Is this the best way to write a "loop and a half" in Python?

Define "best".

x = 1
while x:
     x = int( input( "Number (enter 0 to terminate)? " ))
     if x:
         print( f'Square = { x**2 }' )

I'd usually write it as

while True:
  x = tedious_function_call_with_sentinel()
  if x == 0:
    break
  do_something_with(x)

...or alternatively

x = tedious_function_call_with_sentinel()
while x != 0:
  do_something_with(x)
  x = tedious_function_call_with_sentinel()

...or some other refactoring.

   In a C-like language, one could write:

while x = int( input( "Number (enter 0 to terminate)? " ))
     print( f'Square = { x**2 }' )

One could. One would richly deserve the compiler warnings one got as a result, but one could.

--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to