Skip to content
Fix Code Error

How to write inline if statement for print?

March 13, 2021 by Code Error
Posted By: Anonymous

I need to print some stuff only when a boolean variable is set to True. So, after looking at this, I tried with a simple example:

>>> a = 100
>>> b = True
>>> print a if b
  File "<stdin>", line 1
    print a if b
             ^
SyntaxError: invalid syntax  

Same thing if I write print a if b==True.

What am I missing here?

Solution

Python does not have a trailing if statement.

There are two kinds of if in Python:

  1. if statement:

    if condition: statement
    if condition:
        block
    
  2. if expression (introduced in Python 2.5)

    expression_if_true if condition else expression_if_false
    

And note, that both print a and b = a are statements. Only the a part is an expression. So if you write

print a if b else 0

it means

print (a if b else 0)

and similarly when you write

x = a if b else 0

it means

x = (a if b else 0)

Now what would it print/assign if there was no else clause? The print/assignment is still there.

And note, that if you don’t want it to be there, you can always write the regular if statement on a single line, though it’s less readable and there is really no reason to avoid the two-line variant.

Answered By: Anonymous

Related Articles

  • What's the difference between eval, exec, and compile?
  • Maven2: Missing artifact but jars are in place
  • Can't install via pip because of egg_info error
  • Fix top buttons on scroll of list below
  • PHP parse/syntax errors; and how to solve them
  • Increasing size of semi circle using css
  • What are the undocumented features and limitations of the…
  • How to prevent scrolling the whole page?
  • What does "SyntaxError: Missing parentheses in call to…
  • Active tab issue on page load HTML

Disclaimer: This content is shared under creative common license cc-by-sa 3.0. It is generated from StackExchange Website Network.

Post navigation

Previous Post:

Check if Cell value exists in Column, and then get the value of the NEXT Cell

Next Post:

Using openssl to get the certificate from a server

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Get code errors & solutions at akashmittal.com
© 2022 Fix Code Error