如何实现用户选择turtle绘图的光标形状?代码问题求助
问题排查与修正代码
你的代码存在三个核心问题:
- 直接使用
Arrow、Circle作为匹配条件,但它们是未定义的变量,应该用字符串字面量(加单/双引号)来对应用户输入的内容 - 创建
turtle.Turtle()对象后未赋值给变量,后续调用turtle.shape()操作的是默认画笔,而非你新建的对象 - 未处理输入的大小写差异(比如用户输入
arrow或circle会匹配失败)
修正后的代码如下:
import turtle # 统一转大写并去除空格,兼容不同输入格式 player_choice = input('Pick Circle or Arrow: ').strip().upper() # 创建画笔对象并赋值给变量 pen = turtle.Turtle() if player_choice == 'ARROW': pen.shape('arrow') elif player_choice == 'CIRCLE': pen.shape('circle') else: print('Please choose either Circle or Arrow') # 保持窗口显示,避免程序结束后立即关闭 turtle.done()
补充说明:
.strip()去除输入前后的空格,避免用户误输入空格导致匹配失败.upper()将输入转为大写,兼容arrow/Arrow/ARROW等多种输入形式- 把画笔对象赋值给
pen变量,确保后续形状设置操作的是你新建的画笔 turtle.done()用于维持绘图窗口的显示,防止程序运行后窗口立即关闭
内容的提问来源于stack exchange,提问作者Aar
相关产品推荐
相关产品推荐

