【发布时间】:2010-12-14 19:38:20
【问题描述】:
我有一个基本上由海龟图形组成的python程序,它基本上是询问用户要绘制多少个正方形,然后在每个正方形之后,它使用以下方法将计数器加1:
counter=1
<drawing code here>
counter +=1
然后我想检查一下正方形的数量是否等于用户输入的数量,如果是,那么我想转到脚本的底部让它说像done!!。但我不知道如何让它转到脚本的某个部分,因为我习惯于批量使用的 goto 命令在 python 中不受支持(我知道,goto= 意大利面条代码)
我发现一个简单的解决方法是下载某人制作的模块,该模块可让您将 goto 命令导入 python 并像批量一样使用它,但如果有的话,我想要一个原生 python 解决方案!
我当前的代码是:
from turtle import *
import time
counter=1
color("red", "blue")
down()
user=int(raw_input('how many balls do you want?'))
counter +=1
if user===counter:
# solution goes here!
else:
for step in range(24):
right(105)
forward(100)
right(105)
forward(100)
right(105)
forward(100)
right(105)
forward(100)
up()
goto(120,0)
down()
counter +=1
if user==counter:
#solution goes here!
else:
for step in range(24):
right(105)
forward(100)
right(105)
forward(100)
right(105)
forward(100)
right(105)
forward(100)
up()
goto(0,-50)
write("Done!")
time.sleep(5)
如果您对此问题有答案或替代方案,我们将不胜感激!
【问题讨论】:
-
你不使用函数有什么原因吗?
-
goto(120,0) 似乎将您重新定位在 (x,y)。它看起来像一个函数,而不是您在某些直接控制指定代码的编程语言中找到的 goto。至少从第一眼看,是这样的。
-
呃....您从
turtle模块获得的goto与跳转到脚本中的其他地方完全无关...它设置了海龟的位置。无论如何,您完成这项工作的方式是构建您的代码。假装您从未听说过“goto”,从一开始就了解真正的控制结构是如何工作的。 -
@pyfunc:他的意思是另一种“goto”,结构化编程应该淘汰的那种。
-
你做错了(tm)。您需要学习如何使用函数、循环等来构建代码。学习另一种语言的程序员可能会跳过该语言的教程(当然,直到他们遇到麻烦),但如果您之前的经验只是批处理脚本,则没有必要通过不遵循编写良好的教程/书籍,使事情变得困难一百倍。我推荐How to Think like a computer scientist。
标签: python batch-file goto turtle-graphics