用Python的turtle库画太极图

用Python的turtle库画太极图作为一名中医药大学的学生,对太极图那是情有独钟,这不,我刚开始学Python不久,便想着用turtle库画一个太极图,对turtle库的使用还不熟练,代码量可能有点多……代码:importturtler=200#太极半径turtle.pensize(2)#画笔尺寸#将太极的圆心调整至坐标原点turtle.right(90)turtle.penup()#拿起画笔turtle.fd(r)turtle.pendown()#落下画笔turtle.right(90)#调整海

大家好,又见面了,我是你们的朋友全栈君。

作为一名中医药大学的学生,对太极图那是情有独钟,这不,我刚开始学Python不久,便想着用turtle库画一个太极图,对turtle库的使用还不熟练,代码量可能有点多……

后来又尝试了让太极转动起来:用turtle库画太极图,并让它转起来
代码:

import turtle

r = 200  # 太极半径
turtle.pensize(2)  # 画笔尺寸

# 将太极的圆心调整至坐标原点
turtle.right(90)
turtle.penup()  # 拿起画笔
turtle.fd(r)
turtle.pendown()  # 落下画笔

turtle.right(90)  # 调整海龟角度

# 开始画阳鱼
turtle.fillcolor("white")  # 填充为白色
turtle.begin_fill()  # 开始填充
turtle.circle(-r / 2, 180)
turtle.circle(r / 2, 180)
turtle.circle(r, 180)
turtle.end_fill()  # 填充结束

# 开始画阴鱼
turtle.fillcolor("black")  # 填充为黑色
turtle.begin_fill()  # 开始填充
turtle.circle(r, 180)
turtle.right(180)
turtle.circle(-r / 2, 180)
turtle.circle(r / 2, 180)
turtle.end_fill()  # 填充结束

# 开始画阴鱼眼
turtle.goto(0, -5 * r / 8)  # 到达相应的坐标
turtle.fillcolor("white")
turtle.begin_fill()
turtle.circle(r / 8, 360)
turtle.end_fill()

turtle.penup()  # 拿起画笔
turtle.goto(0, r * 3 / 8)  # 到达相应的坐标
turtle.pendown()  # 放下画笔

# 开始画阳鱼眼
turtle.fillcolor("black")
turtle.begin_fill()
turtle.circle(r / 8, 360)
turtle.end_fill()
turtle.right(90)  # 让画笔转动90°,隐藏画笔

turtle.done()  # 让窗口停留

运行结果:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144872.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • strcpy和memcpy的差别

    strcpy和memcpy的差别

    2022年2月7日
    68
  • redis和zk实现分布式锁有什么区别_redis分布式锁和zk分布式锁区别

    redis和zk实现分布式锁有什么区别_redis分布式锁和zk分布式锁区别前言本文介绍下分布式锁的一个使用场景分享本文的缘由是因为今天在写代码时需要处理一个原子性问题,场景是:业务功能需要先查询数据,再根据数据判断是否要更新数据,在这个查询+更新的过程必然会存在高并发下的原子性问题那么如何解决这个问题呢,那么就要说到我们的主角:分布式锁了分布式锁介绍分布式锁:即在多集群多节点环境下确保只有一个线程可以拿到锁,防止并发出现的问题,类似于synchronized,只不过synchronized不能处理多节点的问题解决上述问题的一种解决方式就是使用分布式锁,虽然性能会比较低

    2025年10月2日
    5
  • Springboot文件上传_maven上传jar包到远程仓库

    Springboot文件上传_maven上传jar包到远程仓库springboot文件上传机制:1.访问路径2. 上传完成后返回访问文件地址3. 我们只需要访问返回的地址就可以访问到图片4. yaml配置文件(localpath是实际存储的地址)5. 添加配置类,进行访问地址和存储地址映射 @Value(“${file.upload.suffixPath}”) private String uploadSuffixPath; @Value(“${file.upload.localPath}”) private Strin

    2022年8月8日
    5
  • Java笔试题大全(附带答案)「建议收藏」

    Java笔试题大全(附带答案)「建议收藏」一、单选题1.下列哪一种叙述是正确的(D)A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号2.如下代码publicclassTest{publicintaMethod(){staticinti=0;i++;returni;}…

    2022年7月7日
    24
  • git删除本地分支和远程分支_git删除远程分支

    git删除本地分支和远程分支_git删除远程分支git上面的分支开发完成以后,完成了他的历史使命,就可以删除了。1.删除本地分支查看本地分支gitbranchadd_jvm_config_and_exception_loghdfs_config_in_zk*mastersubBucket删除已经merge的本地分支gitbranch-dadd_jvm_config_and_exception_log…

    2022年10月9日
    4
  • endnote修改参考文献格式为方括号(参考文献)

    Endnote修改参考文献格式1将参考文献除编号外的内容设置左对齐:1)菜单栏Edit-Outputstyles-选择一个要更改的参考文献格式进行更改2)弹出页面内选中Bibliography下的Layout![右上角Incertfield位置添加tab,右下角HangingIndent位置选择Allparagraphy]3)在word中endnote下点击箭头处更改缩进大小最终结果如图…

    2022年4月10日
    3.8K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号