• Uncategorized

About python : f-strings-giving-SyntaxError

Question Detail

I am getting an error message with my Atom reader here, where it is suggesting the first print.(f"message") is delivering an error:

File "/Users/permanentmajority/Desktop/Coding/learnpythonbook.py", line 75
    print(f"Let's talk about {my_name}.")
                                       ^
SyntaxError: invalid syntax
[Finished in 0.077s]

Code:

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 #lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print(f"Let's talk about {my_name}.")
print(f"He's {my_height} inches tall.")
print(f"He's {my_weight} pounds heavy.")
print("Actually that's not too heavy.")
print(f"He's got {my_eyes} eyes and {my_hair} hair.")
print(f"His teeth are usually {my_teeth} depending on the coffee.")

Question Answer

I think you have an old version of python. try upgrading to the latest version of python. F-string literals have been added to python since python 3.6. you can check more about it here

This is a python version problem.

Instead of using

print(f"Let's talk about {my_name}."

use

print("Let's talk about {}.".format(my_name))

in python2.

Your code works on python3.7.

Check it out here:

my_name= "raushan"
print(f"Let's talk about {my_name}.")

https://repl.it/languages/python3

Python Interpreter causes the following issue because of the wrong python version you calling when executing the program as f strings are part of python 3 and not python 2. You could do this python3 filename.py, it should work. To fix this issue, change the python interpreter from 2 to 3. 

f-strings were added in python 3.6. In older python versions, an f-string will result in a syntax error.

If you don’t want to (or can’t) upgrade, see How do I put a variable inside a String in Python? for alternatives to f-strings.

I think this is due to the old version. I have tried in the new version and the executing fine. and the result is as expected.

I believe the problem you are having here is down to you using python 2 without realizing it. if you haven’t set it up on your machine to have python 3 as your default version you should execute python3 in your terminal instead of the standard ‘python’ command.

I had this problem so hopefully, this answer can be of help to those looking for it.

I think they had typed

python file.py

to run the program in the Mac or linux that runs the python 2 version directly because OS defaultly contain python 2 version, so we needed to type

python3 file.py

That’s the solution for the problem
python2 and python3 running command

You may also like...

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.