You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现用户选择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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:15:32