【问题标题】:Can't assign to operator error [closed]无法分配给操作员错误[关闭]
【发布时间】:2017-02-13 03:49:48
【问题描述】:

我正在尝试制作一个简单的猜谜游戏作为学校作业。我从一个长版本开始,并试图通过使用循环来缩短它,但我在第 13 行得到一个无法分配给操作员的错误,在尝试执行 A1 + 1 = A1 时我不明白。

import sys
import random

A1 = 1
A2 = 2
A3 = 1
Array=[]
Len = int(input("How long do you what the game to be"))
for x in range(11):
G = random.randint(1,13)
Array.append(G)
for x in range(Len):
    A1 + 1 = A1
    A2 + 1 = A2
    A3 + 1 = A3
print(Array[A3])
Num = Array[A3]
G1 = input("Is the next number higher or lower.")
if Array[A1] - Array[A2] > 1:
    print("Correct")
    print("_______________________________________________________________________________")
else:
    print("YOu FaIl")
    print("_______________________________________________________________________________")
    sys.exit()
print("Well done you have won the game CONGRATS!")

【问题讨论】:

  • 我想你的意思是A1 += 1
  • A1 + 1 = A1 在你的理解中应该发生什么?
  • 你必须了解赋值运算符。左侧是受让人,右侧是要分配给受让人的值。另外,如果从逻辑上看代码,如何将常量(数字)赋给不同的值?
  • 顺便说一句,如果用户输入大于 11 的数字,您将获得索引越界错误。我认为您的意思是 for x in range(Len):。使用大写字母命名变量是违反 Python 设计指南的(例如Array)。

标签: python python-3.x variable-assignment


【解决方案1】:

分配是<variable> = <expression>,而不是相反。

这个可以换

for x in range(Len):
   A1 + 1 = A1
   A2 + 1 = A2
   A3 + 1 = A3

由此(假设您想为每个变量添加一个 Len 次)

A1 += Len
A2 += Len
A3 += Len

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2020-08-03
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多