Python Forum
SyntaxError: Missing parentheses in call to 'print'
Thread Rating:
  • 1 Vote(s) - 2 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SyntaxError: Missing parentheses in call to 'print'
#1
Am new to python, a new concept which i love.... i started 3days back.... and am using a text book to teach myself.... i got to a section of the textbook and i saw a new concept which i love.but i entered the code the way it was entered in the text book.... but the program did not run...here is the code, and the result i was getting.......

>>> x = input("x:")
x:50
>>> y = input("y:")
y:50
>>> print x*y
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(x*y)?
Reply
#2
you are using python3 (good), but maybe your book is targeted at python2. If this is the case - change the book you are using.
As to the particular error - in python2 print is a statement, while in python3 it is a function thus it requires parentheses.
On the other hand python3 uses input, while python2 equivalent is raw_input, so I'm not 100% your book is for python2. If it is python2 book and teaches you to use input in python2, it's a poor textbook, definitely don't use it.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#3
(Jun-15-2018, 01:13 PM)buran Wrote: On the other hand python3 uses input, while python2 equivalent is raw_input, so I'm not 100% your book is for python2. If it is python2 book and teaches you to use input in python2, it's a poor textbook, definitely don't use it.

In Python2, input exists too - but it evaluates the entered expression, that's what would have allowed OP to multiply without conversion.

Python2 input would return number - if number is entered - due to expression evaluation. Unfortunately, it would allow to execute a valid Python command, if entered - the reason why it (input) is considered dangerous, and its usage discouraged.

raw_input in Python2 returns string

So the book is definitely Python2 - and also correct, though uses discouraged practice.
Test everything in a Python shell (iPython, Azure Notebook, etc.)
  • Someone gave you an advice you liked? Test it - maybe the advice was actually bad.
  • Someone gave you an advice you think is bad? Test it before arguing - maybe it was good.
  • You posted a claim that something you did not test works? Be prepared to eat your hat.
Reply
#4
I also realised that multiplies without conversion to int/float. Just didn't want to complicate things with input()/eval(input()) explanations. I didn't claim it's incorrect, just poor textbook for newbie
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Call to a print in a defined function leodavinci1990 1 1,873 Nov-20-2019, 01:45 AM
Last Post: ichabod801
  Write only data not >> () << parentheses zinho 2 3,423 Jun-28-2017, 02:28 PM
Last Post: zinho

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020