【发布时间】:2018-06-08 18:34:35
【问题描述】:
import turtle
ben = turtle.Turtle()
W = 1
ben.speed(10.5)
ben.width(5)
#X = 0
O = 0
if GRIDDONE == True: #inside lines
ben.speed(10.5)
ben.forward(100)
ben.right(90)
ben.forward(300)
ben.left(90)
ben.forward(100)
ben.left(90)
ben.forward(300)
ben.right(90)
ben.forward(100)
ben.right(90)
ben.forward(100)
ben.right(90)
ben.forward(300)
ben.left(90)
ben.forward(100)
ben.left(90)
ben.forward(300)
ben.pu()
ben.forward(500)
X = turtle.Turtle()
O = turtle.Turtle()
X.pu()
O.pu()
X.forward(300)
X.right(90)
O.forward(300)
O.right(90)
X.color("Blue")
X.color()
O.color("Red")
O.color()
X.width(2)
O.width(2)
#X.speed(100)
#O.speed(100)
SQ1 = False
StartX = '300'
StaryY = '0'
def playX():
P1 = input('Can player X please choose their square')
if (P1) == ('1'):
if (SQ1) == False:
X.right(90)
X.forward(300) #change this
X.left(90)
X.left(45)
X.pd()
X.forward(140)
X.pu()
X.left(135)
X.forward(100)
X.left(135)
X.pd()
X.forward(140)
X.pu()
X.setx(300)
X.sety(0)
X.left(45)
SQ1 = True
def playO():
P1 = input('Can player O please choose their square')
if P1 == ('1'):
if SQ1 == False:
O.right(90)
O.forward(300) #change this
O.left(90)
O.forward(50)
O.left(90)
O.forward(10)
O.left(90)
O.pd()
O.circle(-40)
O.pu()
O.setx(300)
O.sety(0)
O.left(180)
SQ1 = True
playO()
#playX()
这是我的代码,我需要创建一个功能,不允许海龟在同一个“if”函数下绘制两次,但标题中出现错误。错误如下:
Traceback(最近一次调用最后一次): 文件“C:\Users\benna\Downloads\2.py”,第 314 行,在 播放O() 文件“C:\Users\benna\Downloads\2.py”,第 297 行,在 playO 如果 SQ1 == 假: UnboundLocalError:赋值前引用了局部变量“SQ1”
我认为是因为在函数中使用时无法编辑变量。
【问题讨论】:
标签: python-3.x