Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 画一个“;k形尖头&x201D;星号所在位置“;k”;由用户传递给程序_Python_Python 3.x_Turtle Graphics - Fatal编程技术网

Python 画一个“;k形尖头&x201D;星号所在位置“;k”;由用户传递给程序

Python 画一个“;k形尖头&x201D;星号所在位置“;k”;由用户传递给程序,python,python-3.x,turtle-graphics,Python,Python 3.x,Turtle Graphics,我想画一个K点星,其中K是经过用户的 我试过使用海龟,但不起作用: 导入海龟 def star(乌龟,北,北): 总和=0 对于范围(n)中的i: 角度=180.0-180.0/n 乌龟。前进(d) 乌龟。右(角) 乌龟。前进(d) sum=sum+d 打印(“面积为”,总和) k=输入() 星型(200,k,4) 回溯(最近一次呼叫最后一次): 文件“kpoint.py”,第12行,在 星型(200,k,4) 文件“kpoint.py”,第4行,星形 对于范围(n)中的i: TypeErro

我想画一个K点星,其中K是经过用户的

我试过使用
海龟
,但不起作用:

导入海龟
def star(乌龟,北,北):
总和=0
对于范围(n)中的i:
角度=180.0-180.0/n
乌龟。前进(d)
乌龟。右(角)
乌龟。前进(d)
sum=sum+d
打印(“面积为”,总和)
k=输入()
星型(200,k,4)
回溯(最近一次呼叫最后一次):
文件“kpoint.py”,第12行,在
星型(200,k,4)
文件“kpoint.py”,第4行,星形
对于范围(n)中的i:
TypeError:“str”对象不能解释为整数

您的错误是,
str
类型不能解释为
int
input()
函数返回一个
str
类型。您可以通过使用
int()
函数将
str
类型转换为
int
来解决此问题。这样做:

k=int(input())
更改:

k = input()
致:

是必需的,但不足以运行此代码。其他问题包括:

  • star()
    的调用参数与其声明的 参数。(也就是说,
    200
    不是海龟。)

  • 你的
    sum
    计算面积是一厢情愿

  • 此代码仅适用于奇数值
    k

  • 角度
    可以在循环之前计算,因为在循环中没有任何值 计算更改

综上所述,我们得到:

import turtle

def star(n, d):
    angle = 180 - 180 / n

    for i in range(n):
        turtle.forward(d)
        turtle.right(angle)
        turtle.forward(d)

k = int(input("Points (odd number): "))

star(k, 200)

turtle.done()

您想通过
k=int(input())
input()
解析为int,您需要将输入解析为整数才能将其用作整数,例如使用
int(input())
import turtle

def star(n, d):
    angle = 180 - 180 / n

    for i in range(n):
        turtle.forward(d)
        turtle.right(angle)
        turtle.forward(d)

k = int(input("Points (odd number): "))

star(k, 200)

turtle.done()