语法错误:我运行的每个代码的语法无效

时间:2018-09-30 06:20:33

标签: python

在过去的一个小时中,我一直在“学习Python的艰难方法”一书中进行练习18、19、20和21。

每次我看到这样的错误:

File "ex21.py", line 2
        print(f"ADDING {a} + {b}")
                                ^
    SyntaxError: invalid syntax

无论我进行哪种运动,它总是第2行

练习21的代码对您有帮助吗?

def add(a, b):
    print(f"ADDING {a} + {b}")
    return a + b

def subtract(a, b):
    print(f"SUBTRACTING {a} - {b}")
    return a - b

def multiply(a, b):
    print(f"MULTIPLYING {a} * {b}")
    return a * b

def divide(a, b):
    print(f"DIVIDING {a} / {b}")
    return a / b


print("Let's do some math with just functions!")

age =  add(30,5)
height = subtract(78,4)
weight = multiply(90,2)
iq = divide(100,2)

print(f"Age: {age}, Height: {height}, Weight: {weight}, IQ: {iq}")

#A puzzle for extra credit. type it in anyway
print("Here is a puzzle.")

what = add(age,subtract(height, multiply(weight,divide(iq,2))))

print("That becomes: ", what, "Can you do it by hand?")

2 个答案:

答案 0 :(得分:0)

我认为您使用的是错误版本的Python。 “ f-strings”语法是Python3.6的新功能。如果您的版本低于3.6,则会引发错误。 我在Python3.6中尝试了您的代码,但没有错误。 如果您使用的是早期版本的python,请不要使用“ f-strings”语法:

  def减去(a,b):
    print(“ SUBTRACTING {a}-{b}”)
    返回a-b
 

答案 1 :(得分:0)

f字符串是 Python 3.6 中引入的新语法。如果您尝试在Python 3.5或更早版本上运行包含f字符串的程序,则是语法错误。

为了与Python 2.6到3.5兼容,我建议使用字符串对象的.format方法:

print("ADDING {} + {}".format(a, b))
                      ^^^^^^^^^^^^^

您可以在命令行上确定您的Python版本:

python --version
python3 --version

或使用Python代码:

import sys
print(sys.version)