打开引号时出现语法错误

时间:2015-01-09 03:11:56

标签: python syntax-error quotes quote quotation-marks

我正在尝试在Think Python:

一书中运行练习3.3的脚本

问题:Python提供了一个名为len的内置函数,它返回字符串的长度,因此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

我犯了什么错误,我该怎么做才能修复这个脚本?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

您正在使用的角色

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

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

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

或双引号:

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