在过去的一个小时中,我一直在“学习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?")
答案 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)