左引号语法错误

Syntax error on opening quotation mark

我正在尝试为 Think Python 书中的练习 3.3 运行脚本:

问题:Python提供了一个名为len的内置函数,它returns一个字符串的长度,所以len('allen')的值为5。编写一个名为 right_justify 的函数,它将一个名为 s 的字符串作为参数并打印带有足够前导空格的字符串,以便字符串的最后一个字母位于显示的第 70 列中。

到目前为止,我已经解决了一些脚本问题,现在我有了这个:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def right_justify(s):
    print ‘ ‘ * (70 - len(s)) + s

right_justify(‘allen’)

当我尝试运行它时出现以下错误:

 File "/Users/Jon/Documents/Python/Chapter 3/right justify.py", line 5
    print ‘ ‘ * (70 - len(s)) + s
          ^
SyntaxError: invalid syntax

我犯了什么错误,我应该怎样修正这个脚本?

解析器无法识别 字符。您需要为字符串文字使用撇号或引号('"):

print ' ' * (70 - len(s)) + s

有关详细信息,请参阅文档中的 Strings literals

您正在使用的角色

print ‘ ‘ * (70 - len(s)) + s

是一个非 ascii 撇号,虽然您可以在代码中使用 unicode 文字,但不能将它们用于单引号。您需要 ascii 单引号,',(有时也用作撇号),

print ' ' * (70 - len(s)) + s

或双引号:

print " " * (70 - len(s)) + s