[英]How do I get turtle to move based on input in Python 3?
我正在編寫一個程序,該程序需要在控制台中輸入以控制烏龜在屏幕上的位置。 例如,如果程序的用戶在控制台中鍵入w
,然后按Enter,則烏龜應向前移動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個條目才能使烏龜前進。 當我嘗試右轉烏龜時,甚至需要花費更多。
有任何想法嗎? 提前致謝。
每個input()
都會提示用戶input()
一個新條目。
您的代碼所做的是,每5個條目一組:
'w'
然后繼續前進 'a'
然后向左移動 's'
然后向右移動 'd'
然后返回 您應該將第一個input()
分配給變量,然后進行檢查。
使用elif
避免檢查其他字符(如果已經滿足一個字符)。
while True:
entry = input()
if entry == 'w':
movemattfd()
elif entry == 'a':
movemattlt()
elif entry == 'd':
movemattrt()
elif entry == 's':
movemattbk()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.