我在此Python代码中始终出现语法错误消息

时间:2020-05-20 19:26:19

标签: python syntax-error

小型python脚本存在问题。尝试每3次迭代将1加到全局变量中。我不断看到

“对于scalerVal中的3: ^ SyntaxError:无法分配给文字“

我会很感激

    x1 = 0
    x2 = 0
    x3 = 0
    x4 = 0
    x5 = 0
    x6 = 0
    x7 = 0
    x8 = 0
    x9 = 0

    itVal = 0


    scalerVal = 3

    # -- STEP 1: --
    # (greatest value) = 3 * itVal + itVal
    # adder = (greatest value) - (current value) = (differnce in value) + itVal
    # scaler = itVal - intVal - itVal

    # -- STEP 2: --
    # add the adder to all n values

    def a1():

      global x1
      x1 = x1 + 3
      global x2
      x2 = x2 + 2
      global x3
      x3 = x3 + 1
      global x4
      x4 = x4 + 2
      global x5
      x5 = x5 + 2
      global x6
      x6 = x6 + 1
      global x7
      x7 = x7 + 1
      global x8
      x8 = x8 + 1
      global x9
      x9 = x9 + 1

      global scalerVal
      for 3 in scalerVal:
        scalerVal + 1
        return()

      global itVal
      if itVal == 0:
        #gVal = 3 * itVal + itVal
        #adder = gVal - x1 + itVal
        #x1 = x1 + adder
        itVal = itVal + 1
        print(x1, x2, x3, x4, x5, x6, x7, x8, x9, itVal)
        return()

      else:
        gVal = scalerVal * itVal + itVal
        adder = gVal - x1 + itVal
        x1 = x1 + adder
        itVal = itVal + 1
        print(x1 , x2, x3, x4, x5, x6, x7, x8, x9, itVal)
        return()

      return()

    def a2():

      global x1
      x1 = x1 + 2
      global x2
      x2 = x2 + 3
      global x3
      x3 = x3 + 2
      global x4
      x4 = x4 + 2
      global x5
      x5 = x5 + 2
      global x6
      x6 = x6 + 2
      global x7
      x7 = x7 + 1
      global x8
      x8 = x8 + 1
      global x9
      x9 = x9 + 1

      global itVal

      return()

    def a3():

      global x1
      x1 = x1 + 1
      global x2
      x2 = x2 + 2
      global x3
      x3 = x3 + 3
      global x4
      x4 = x4 + 1
      global x5
      x5 = x5 + 2
      global x6
      x6 = x6 + 2
      global x7
      x7 = x7 + 1
      global x8
      x8 = x8 + 1
      global x9
      x9 = x9 + 1

      global itVal
      if itVal == 0:
        #gVal = 3 * itVal + itVal
        #adder = gVal - x3 + itVal
        #x3 = x3 + adder
        itVal = itVal + 1
        print(x1, x2, x3, x4, x5, x6, x7, x8, x9, itVal)
        return()

      else:
        gVal = 3 * itVal + itVal
        adder = gVal - x3 + itVal
        x3 = x3 + adder
        itVal = itVal + 1
        print(x1 , x2, x3, x4, x5, x6, x7, x8, x9, itVal)
        return()

      return()



    def valAdd():

      #for _ in range(1000000000):
        #a1()

      a1()
      a2()
      a3()



      print(x1, x2, x3, x4, x5, x6, x7, x8, x9, itVal)

      return()

    valAdd()

小型python脚本存在问题。尝试每3次迭代将1加到全局变量中。我一直在看

“在scalerVal中为3:^ SyntaxError:无法分配给文字”

我会很感激

2 个答案:

答案 0 :(得分:1)

问题在于您使用的是常量,应该在其中放置变量。

更具体地说,在python for循环中,应该是这样的:

for x in [scalerVal]

实际上,第一个应该是变量,第二个应该是可迭代

答案 1 :(得分:0)

3必须是变量名称,例如X

for x in scalerVal:
  x + 1
  return()

此外,scalarVal应该是列表或数组,而不是供for使用的标量。

您可以直接使用该值。

相关问题