python - 为什么我的参数没有在 Python 中定义?
问题描述
我对 python 很陌生,我试图在 main 中调用这些函数,但是每当我运行程序时,它都会说“wn”没有定义。为什么这不起作用?
我也尝试在 main 之外调用该函数,但仍然是同样的错误。
import turtle #1. import modules
import random
#Part A
def setupWindow(wn):
wn = turtle.Screen() # 2. Create a screen
wn.bgcolor('lightblue')
def setupTurtles():
michelangelo = turtle.Turtle() # 3. Create two turtles
leonardo = turtle.Turtle()
michelangelo.color('orange')
leonardo.color('blue')
michelangelo.shape('turtle')
leonardo.shape('turtle')
michelangelo.up() # 4. Pick up the pen so we don\u2019t get lines
leonardo.up()
michelangelo.goto(-100,20)
leonardo.goto(-100,-20)
## 5. your code goes here
#Slowing Turtles Down
michelangelo.speed(1)
leonardo.speed(1)
#Race 1
def raceOne(myturtle, myturtle2):
myturtle.forward(random.randrange(1,101))
myturtle2.forward(random.randrange(1,101))
#Race 2
def raceTwo(myturtle, myturtle2):
for x in range(10):
myturtle.forward(random.randrange(0,11))
myturtle2.forward(random.randrange(0,11))
setupTurtles()
# Part B - complete part B here
def drawShapes(myturtle):
myturtle.down()
for sides in [3, 4, 6, 9, 12]:
for i in range(sides):
leonardo.forward(50)
leonardo.right(360/sides)
leonardo.clear()
return sides
def main():
setupWindow(wn)
setupTurtles()
raceOne(michelangelo, leonardo)
raceTwo(michelangel, leonardo)
drawShapes(leonardo)
main()
wn.exitonclick()
解决方案
感谢您提出问题。此问题是由于未正确引用我已修改您的代码以使其运行的功能而产生的。请检查并进一步修改它。
import turtle # 1. import modules
import random
# Part A
def setupWindow(wn):
wn = turtle.Screen() # 2. Create a screen
wn.bgcolor('lightblue')
def setupTurtles():
michelangelo = turtle.Turtle() # 3. Create two turtles
leonardo = turtle.Turtle()
michelangelo.color('orange')
leonardo.color('blue')
michelangelo.shape('turtle')
leonardo.shape('turtle')
michelangelo.up() # 4. Pick up the pen so we don\u2019t get lines
leonardo.up()
michelangelo.goto(-100, 20)
leonardo.goto(-100, -20)
michelangelo.speed(1)
leonardo.speed(1)
raceOne(michelangelo, leonardo)
raceTwo(michelangelo, leonardo)
leonardo.down()
for sides in [3, 4, 6, 9, 12]:
for i in range(sides):
leonardo.forward(50)
leonardo.right(360 / sides)
leonardo.clear()
return sides
## 5. your code goes here
# Slowing Turtles Down
# Race 1
def raceOne(myturtle, myturtle2):
myturtle.forward(random.randrange(1, 101))
myturtle2.forward(random.randrange(1, 101))
# Race 2
def raceTwo(myturtle, myturtle2):
for x in range(10):
myturtle.forward(random.randrange(0, 11))
myturtle2.forward(random.randrange(0, 11))
setupTurtles()
# Part B - complete part B here
def drawShapes(myturtle):
pass
def main():
wn = ""
setupWindow(wn)
setupTurtles()
main()
turtle.exitonclick()
推荐阅读
- javascript - 谷歌图表重复hAxis
- laravel - 如何通过 IP 地址在 Apache2 上服务 Laravel 8 项目?
- mysql - 如何在mysql中获取具有相同工资值的第二个员工姓名的最低和最高工资的员工姓名?
- angular - 角度选择 - 键盘选择不起作用
- python - 如何从另一个数据框中选择最小的子数据框?
- python - 使用稳定的 VAR 模型生成综合多元时间序列
- terraform - 使用版本 2 而不是版本 3 的 Terraform 媒体服务
- python - 命令行登录使用 django 用户名和密码
- algorithm - 有没有一种算法可以计算在扑克中拥有最佳手牌的概率?
- reactjs - 如何从包装器中成功返回已编译的 JSX MUI 结束标记