语法错误:扫描字符串文字时的EOL

时间:2014-11-27 11:46:56

标签: python

我写了这个:

 def compute_bill(food):
    total = 0
    while item in food:
        if item's stock count > 0:
        total += prices[item]
        item's stock count = item's stock count - 1

然后,我在扫描字符串文字时遇到了语法错误:EOL 请有人帮助我!

3 个答案:

答案 0 :(得分:1)

'开始一个字符串,你在三个地方使用过它。这会导致两个字符串:一个在开头和结尾都有一个撇号,另一个是未闭合的。未闭合的导致EOL error因为python解释器在字符串完成之前用尽代码进行检查。

要解决此问题,请不要在变量名中使用叛逆(或空格):

def compute_bill(food):
   total = 0
   while item in food:
       if item_stock_count > 0:
           total += prices[item]
           item_stock_count = item_stock_count - 1

答案 1 :(得分:0)

看起来item's stock count是变量名。但是在Python或者我猜大多数/所有语言变量名cannot be space separated并且不应该包含单引号'或双引号"等等。

答案 2 :(得分:0)

您的"商品的库存数量"是一个变量,Python变量必须遵守一些规则(参见here):

  • 必须以字母(大写或小写)或下划线(_)开头
  • 以下字符可以是字母,数字或下划线

因此,不允许使用空格或引号;它们被解释为其他东西,而不是变量名称。因此错误。

另见this question