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

使用Python Turtle库时出现语法错误,请求排查修复

Python代码语法错误排查与修复

以下是你的代码中存在的问题及修复方案:

原代码

from turtle import*

student_grades=[]
the_number_of_grades=int(input('the number of grades that are going to be proccesed:')
                         
for d in range (the_number_of_grades) :

    student_grades=int(input('please input all of your grades:')

    student_grades.append(student_grades)

grade_point_average=round(sum(student_grades) /len(studnet_grades),2)

clear()
penup()
setpos(-10,180)
write('MY GRADE POINT AVERAGE=' +str(grade_point_average))
setpos(80,180)
if grade_point_average > 70:
    write('YOUR GRADE POINT AVERAGE IS V.GOOD')
elif grade_point_average > 50:
    write('YOUR GRADE POINT AVERAGE IS LOW')
else:
    write('YOU HAVE GOT YOUR FIRST WARNING!:')
          

Ssetpos(0,0)
pd()
goto(180,0)
goto(0,0)
goto(0,150)
goto(0,0)


for d in range (len(student_grades)) :
    goto((d+1)*20 , grades[d])
    dot(5, 'RED')
    write(student_grades[d],False,'centre')
ht() 

错误点及修复

  • 括号不匹配:两处input()调用末尾缺少闭合括号),直接触发语法错误
  • 变量覆盖:循环内将列表student_grades重新赋值为输入的整数,导致后续无法调用append()方法,需改用新变量接收输入值
  • 拼写错误:计算平均分时把student_grades拼写成studnet_grades,引发变量未定义错误
  • 函数名笔误:Ssetpos应为turtle库的setpos函数
  • 未定义变量:绘图循环中使用的grades[d]从未定义,应替换为student_grades[d]
  • 参数拼写错误:write()方法中的对齐参数'centre'应为'center'

修正后的代码

from turtle import*

student_grades = []
# 修复括号不匹配问题
the_number_of_grades = int(input('the number of grades that are going to be processed:'))
                         
for d in range(the_number_of_grades):
    # 用新变量接收输入,避免覆盖列表
    grade = int(input('please input your grade:'))
    student_grades.append(grade)

# 修复拼写错误:studnet_grades -> student_grades
grade_point_average = round(sum(student_grades) / len(student_grades), 2)

clear()
penup()
setpos(-10, 180)
write('MY GRADE POINT AVERAGE=' + str(grade_point_average))
setpos(80, 180)
if grade_point_average > 70:
    write('YOUR GRADE POINT AVERAGE IS V.GOOD')
elif grade_point_average > 50:
    write('YOUR GRADE POINT AVERAGE IS LOW')
else:
    write('YOU HAVE GOT YOUR FIRST WARNING!:')
          
# 修复函数名笔误:Ssetpos -> setpos
setpos(0, 0)
pd()
goto(180, 0)
goto(0, 0)
goto(0, 150)
goto(0, 0)

for d in range(len(student_grades)):
    # 修复未定义变量:grades[d] -> student_grades[d]
    goto((d+1)*20, student_grades[d])
    dot(5, 'RED')
    # 修复参数拼写:centre -> center
    write(student_grades[d], False, 'center')
ht() 

内容的提问来源于stack exchange,提问作者omarry barry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:55:13