我是python初学者,当我输入此代码时,错误显示"无法分配给文字"我该如何解决这个问题?
from turtle import*
from math import*
def triangle():
triangle=(int(bodylength))/5*3/2/cos(70)
penup()
forward(int(bodylength)/5)
pendown()
left(70)
forward(int('triangle'))
right(140)
forward(int('triangle'))
forward(int(bodylength)/5)
triangle()
答案 0 :(得分:1)
虽然有必要将forward(int('triangle'))
更改为forward(int(triangle))
,但由于bodylength
未定义,因此还不够。让我们重新修改它以使代码更清晰并运行:
from turtle import Turtle, Screen
import math
def triangle(turtle, bodylength):
distance = bodylength / 5 * 3 / 2 / math.cos(math.radians(70))
turtle.penup()
turtle.forward(bodylength / 5)
turtle.pendown()
turtle.left(70)
turtle.forward(distance)
turtle.right(140)
turtle.forward(distance)
turtle.forward(bodylength / 5)
screen = Screen()
yertle = Turtle()
triangle(yertle, int(input("Body length: ")))
screen.exitonclick() # depending on the environment, you may not need this
答案 1 :(得分:0)
问题是你的陈述'triangle'=(int(bodylength))/5*3/2/cos(70)
。您不能将字符串文字设置为等于其他内容。如果您想将其作为变量,则需要从中删除引号。此外,您不应该有一个与函数同名的变量。
答案 2 :(得分:0)
使用'triangle'
只使用triangle
因此您的代码将如下所示:
from turtle import*
from math import*
def triangle():
triangle=(int(bodylength))/5*3/2/cos(70)
penup()
forward(int(bodylength)/5)
pendown()
left(70)
forward(int(triangle))
right(140)
forward(int(triangle))
forward(int(bodylength)/5)
triangle()
您需要这样做,因为'triangle'
到python是 String 而不是变量。要了解有关变量和字符串的更多信息,只需谷歌字符串和变量之间的差异
注意:您的代码可能还有其他错误,例如forward()
。您可能需要拨打turtle.forward()
或其他内容。我还认为Math.cos()
对参数采用rad而不是deg。