Sometimes when I use the print function, parentheses and quotation marks appear in the output. I'm using Python 3.4 and writing the code in Sublime Text on a mac.
Here's an example
Input:
a=2
print("a",a)
Output:
('a', 2)
I'd like to show only a and 2.
Thanks in advance!
You appear to be using Python 2.
a = 2
print("a %i" % a)
should give you the results you're looking for. Or, using the newer str.format()
method:
print("a {}".format(a))
In Python 3, your statement print("a",a)
will work as expected. Check your build system in Sublime to make sure you're calling python3
instead of python
. Run this code to see what version is actually being used:
import sys
print(sys.version)
To create a Python 3 build system, open a new file with JSON syntax and the following contents:
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
Save the file as Packages/User/Python3.sublime-build
where Packages
is the folder opened when you select Sublime Text -> Preferences -> Browse Packages...
. You can now select Tools -> Build System -> Python3
and, assuming python3
is in your PATH
, you should build with the correct version.
If the build fails with an error that it can't find python3
, open Terminal and type
which python3
to see where it's installed. Copy the entire path and put it in the build system. For example, if which python3
returns /usr/local/bin/python3
, then the "cmd"
statement in your .sublime-build
file should be:
"cmd": ["/usr/local/bin/python3", "-u", "$file"],