Python绘制五角星等能一笔画出的角星

只有奇数和4的整数倍的角星才能一笔画出,见程序和注释:

import math
import turtle as t

#这种方法只能画只在尖角处转向就可以画出的角星,\
# 即可以用等长线段(线段长度为不转弯的最大)不提笔画完的角星\
#如注释吊28,29行,则偶数角数变为原来2倍,证明此方法只能画奇数和4的整数倍的角星\
#即只有奇数和4的整数倍的角星才能一笔画出

def loop(r,n):
    t.fd(ol(r,n))
    t.right(180-360/(2*n))

def ol(r,n):
    na = (360/(4*n)) / 180 * math.pi
    ol = r * math.cos(na) * 2
    ol = int(round(ol))
    return ol

def relocation(r,n):
    t.penup()
    t.left(90)
    t.fd(r)
    t.right(180 - 360/(4*n))
    t.pendown()

def main(r,n):
    times=n
    if n in (1,2,3,4,8):
        print(‘无法一笔画出{0:.0f}角星‘.format(times))
        exit()
    if n%2==0:
        n/=2
        if n%2==1:
            print(‘无法一笔画出{0:.0f}角星‘.format(times))
            exit()
    relocation(r,n)
    for i in range(times):
        loop(r,n)
    t.penup()
    t.goto(0,0)
    t.seth(0)
    t.pendown()

r=200
n=eval(input(‘请输入要绘制的角星的角数n:‘)) #eval()函数很重要,不要总忘记加!!!
t.pensize(8)  #注意t.pensize(20)不是t.pensize=20,变量赋值采用=,属性更改用t.pensize(20)
t.color(‘green‘)
t.speed(10)
t.setup(450,450)
main(r,n)
t.done()

五角星和十六角星:

原文地址:https://www.cnblogs.com/zhangziyan/p/9215226.html

时间: 2024-10-26 00:48:44

Python绘制五角星等能一笔画出的角星的相关文章

python 绘制五角星

code import turtle n = eval(input("请输入五角星的长度")) turtle.begin_fill() #开始填充颜色 i = 0 while i < 5: turtle.forward(n) turtle.right(180-36) i += 1 turtle.color("blue") # 退出填充颜色 turtle.end_fill() turtle.done() 原文地址:https://www.cnblogs.com/

CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦等等

  1.长方形 #Rectangle{ width: 200px; height: 50px; background-color: red; color: white; text-align: center; } 2.正方形 #square{ width: 200px; height: 200px; background-color: red; color: white; text-align: center; } 3.实心圆 #perfect-circle{ width: 200px; hei

iOS之Quartz2D绘图随机绘制五角星

1.   单个五角星绘制 上次讲了在IOS中使用quartz2d绘制基本的图形,今天来绘制一个比较复杂的图形—五角星,五角星大家都很熟悉. 先来分析下五角星的画法,一个五角星如图所示. 1.   先把一个圆周平均五等分,那么每个角度是360/5,然后隔点进行连线就可以绘制五角星 2.   每个连线的夹角就是360/5*2,但是在IOS的正弦余弦计算采用的是弧度制.这里有必要复习下弧度的知识,弧度就是弧的长度,把等于半径的弧度定义为一弧度.那么360度就是2pi. 如图所示 3.   复习完弧度知

Python绘制PDF文件~超简单的小程序

Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http://www.reportlab.com/docs/reportlab-userguide.pdf 我们看看这个网页上的原数据: http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt 代码: #-*- coding: utf-8 -*- # 1. 用于下载原

使用python绘制常用的图表

使用python绘制常用的图表 本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上.但两者在绘制图表过程中的思路大致相同,Excel中能完成的工作python大多也能做到.为了更清晰的说明使用python绘制图表的过程,我们在汇总图表的代码中进行注解,说明每一行代码的具体作用.并在文章的最后给出了自定义字体和图表配色的对应表. 准备工作 ? 1 2 3 4 5 import numpy as np impo

Python课本第2章习题参考答案(第二版)(Python绘制蟒蛇,中美汇率转换,等边三角形,叠加等边三角形,无角正方形,六角形,正方形螺线)

2.1   实例1的修改,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 2.2   汇率兑换程序.按照温度转换程序的设计思路,按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. 2.3   实例2的修改.改造实例代码2.1,绘制一条彩色的蟒蛇,即在绘制Python蟒蛇的每个小段时,画笔的绘制颜色会发生变化. 提示:将画笔颜色控制函数放到蟒蛇绘制函数附近. 2.4   等边三角形的绘制.使用turtle库中的turtle.fd()函数和turtl

人脸检测及识别python实现系列(2)——识别出人脸

人脸检测及识别python实现系列(2)--识别出人脸 从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即可识别出人脸.幸运的是,这些工作OpenCV已经帮我们做了,我们只需调用对应的API函数即可,先给出代码: #-*- coding: utf-8 -*- import cv2 import sys from PIL import Image d

使用python绘制词云

最近在忙考试的事情,没什么时间敲代码,一个月也没几天看代码,最近看到可视化的词云,看到网上也很多这样的工具, 但是都不怎么完美,有些不支持中文,有的中文词频统计得莫名其妙.有的不支持自定义形状.所有的都不能自定义颜色 于是网上找了一下,决定用python绘制词云,主要用到的是wordcloud库,安装只需要pip isntall wordcloud就行, 数据用的是酒店评论的数据,代码如下: # -*- coding: utf-8 -*- import matplotlib.pyplot as

python打印表格式数据,留出正确的空格和段落星号或注释

python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITEMS'.center(leftWidth + rightWidth,'-')) for k,v in itemsDict.items(): print(k.ljust(leftWidth,'.')+str(v).rjust(rightWidth)) picnicItems = {'sandwitch