【发布时间】:2017-10-18 00:23:50
【问题描述】:
我正在编写一个程序,它需要在控制台中输入来控制乌龟在屏幕上的位置。例如,如果程序的用户在控制台中输入w,并按下回车键,乌龟应该向前移动 30 个单位。如果用户输入a,乌龟应该向左转45度,等等。
我编写了一些函数并为程序使用了一个无限的while 循环。它看起来像这样:
def movemattfd():
matt.fd(30)
def movemattlt():
matt.lt(45)
def movemattrt():
matt.rt(45)
def movemattbk():
matt.back(30)
def movematt():
while True:
input()
if input() == 'w':
movemattfd()
if input() == 'a':
movemattlt()
if input() == 'd':
movemattrt()
if input() == 's':
movemattbk()
def main():
windowHeight = 500
windowWidth = 500
turtle.screensize(windowWidth, windowHeight, None)
movematt()
main()
程序可以运行,除非我在控制台中输入w,否则至少需要输入 2 个条目才能让我的乌龟向前移动。当我试图让我的乌龟向右转时,它需要更多的时间。
有什么想法吗?提前致谢。
【问题讨论】:
-
你应该了解将结果提取到单独的对象和
elif关键字 -
为什么在
while True:行之后首先需要input()?