python 20行代码 无图 turtle 缺心眼(缺良心)还没治好 模拟太阳系天体运行系统

短短12h赞就破10个了,没20个很好了,我可不想失去头发

其实我不想做这个程序的 但是今天是我参加完天文比赛的10分之57周年(我2024.5.12参加的)

20行以下代码段为准

本期新规矩:天王18步

老规矩.先放代码

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(1.00,1.00);turtle.tracer(0)
sun=turtle.Turtle();sun.shape('circle');sun.pencolor('white')
mercury=turtle.Turtle();mercury.pu();mercury.goto(0,-5.8);mercury.shape('circle');mercury.pencolor('gray')
venus=turtle.Turtle();venus.pu();venus.goto(0,-10.8);venus.shape('circle');venus.pencolor('yellow')
earth=turtle.Turtle();earth.pu();earth.goto(0,-14.9);earth.shape('circle');earth.pencolor('blue')
spark=turtle.Turtle();spark.penup();spark.goto(0,-23);spark.shape('circle');spark.pencolor('red')
jupiter=turtle.Turtle();jupiter.pu();jupiter.goto(0,-79.3);jupiter.shape('circle');jupiter.pencolor('brown')
saturn=turtle.Turtle();saturn.penup();saturn.goto(0,-145);saturn.shape('circle');saturn.pencolor('yellow')
uranus=turtle.Turtle();uranus.pu();uranus.goto(0,-290);uranus.shape('circle');uranus.pencolor('sky blue')
neptune=turtle.Turtle();neptune.pu();neptune.goto(0,-450);neptune.shape('circle');neptune.pencolor('darkblue')
while True:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(79.3,360/438)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(1.00,1.00);turtle.tracer(0)
sun=turtle.Turtle();sun.shape('circle');sun.pencolor('white')
mercury=turtle.Turtle();mercury.pu();mercury.goto(0,-5.8);mercury.shape('circle');mercury.pencolor('gray')
venus=turtle.Turtle();venus.pu();venus.goto(0,-10.8);venus.shape('circle');venus.pencolor('yellow')
earth=turtle.Turtle();earth.pu();earth.goto(0,-14.9);earth.shape('circle');earth.pencolor('blue')
spark=turtle.Turtle();spark.penup();spark.goto(0,-23);spark.shape('circle');spark.pencolor('red')
jupiter=turtle.Turtle();jupiter.pu();jupiter.goto(0,-79.3);jupiter.shape('circle');jupiter.pencolor('brown')
saturn=turtle.Turtle();saturn.penup();saturn.goto(0,-145);saturn.shape('circle');saturn.pencolor('yellow')
uranus=turtle.Turtle();uranus.pu();uranus.goto(0,-290);uranus.shape('circle');uranus.pencolor('sky blue')
neptune=turtle.Turtle();neptune.pu();neptune.goto(0,-450);neptune.shape('circle');neptune.pencolor('darkblue')
while True:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(79.3,360/438)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

天王一步.基础设置

import turtle,time#导入turtle time模块
screen=turtle.Screen()#设置背景“screen”
screen.bgcolor('black')#把背景设置成黑色 觉得不贴近星空颜色的可以改
screen.setup(1.00,1.00)#贴满整个屏幕
turtle.tracer(0)#开始不要命运行 以前填的是False 但其实0也是False

天王二步.太阳Sun

sun=turtle.Turtle()#太阳的画笔
sun.shape('circle')#太阳是圆的
sun.pencolor('white')#太阳通常是白色 不过太阳因为大气层反射不像白色

天王二步.水星Mercury

mercury=turtle.Turtle()#水星画笔
mercury.pu()#不让水星留下痕迹
mercury.goto(0,-5.8)#水星距离太阳0.58亿千米 屏幕大小有 限缩小一点
mercury.shape('circle')#圆形的水星
mercury.pencolor('gray')#水星实际是灰色的 又称辰星

天王三步.金星Venus

venus=turtle.Turtle()#金星画笔
venus.pu()#不让金星留下痕迹
venus.goto(0,-10.8)#金星距离太阳1.08亿千米
enus.shape('circle')#圆形金星
venus.pencolor('gold')#金星星如其名是金色的

天王四步.地球Earth

earth=turtle.Turtle()#地球画笔
earth.pu()#不让地球留下痕迹
earth.goto(0,-14.9)#地球距离太阳1.49亿千米
earth.shape('circle')#圆形地球
earth.pencolor('blue')#地球主要是蓝色的

天王五步.火星Spark

spark=turtle.Turtle()#火星画笔
spark.penup()#不让火星留下痕迹
spark.goto(0,-23)#火星与太阳的距离为2.3亿千米
spark.shape('circle')#圆形火星
spark.pencolor('red')#火星颜色近似红色

天王六步.木星Jupiter

jupiter=turtle.Turtle()#木星画笔
jupiter.pu()#不让木星留下痕迹
jupiter.goto(0,-79.3)#木星离太阳7.93亿
jupiter.shape('circle')#圆形木星
jupiter.pencolor('brown')#木星颜色是多种多样的 这边取棕色

天王七步.土星saturn

saturn=turtle.Turtle()#土星画笔
saturn.penup()#不让土星留下痕迹
saturn.goto(0,-145)#土星离太阳14.5亿千米
saturn.shape('circle')#圆形土星
saturn.pencolor('yellow')#土星颜色渐于棕色与黄色之间 这边选没有出现过的黄色

天王八步.天王星Uranus

uranus=turtle.Turtle()#天王星画笔
uranus.pu()#不让天王星留下痕迹
uranus.goto(0,-290)#天王星距离太阳29亿千米
uranus.shape('circle')#圆形天王星
uranus.pencolor('sky blue')#天王星是天青色的 但没这颜色 只能用天蓝色了

天王九步.海王星Neptune

neptune=turtle.Turtle()#海王星画笔
neptune.pu()#不让海王星留下痕迹
neptune.goto(0,-450)#海王星离太阳越30AU(地日均距离)
neptune.shape('circle')#圆形海王星
neptune.pencolor('darkblue')#海王星呈深蓝色

天王十步.水星公转

mercury.circle(5.8,360/8.8)#半径为日水平均距离,平均要多少每秒转360/8.8度
'''
水星简介
水星又称辰星
距离太阳5800万千米
平均88天公转一次
'''

天王十一步.金星公转

venus.circle(10.8,360/22.5)#半径为日金平均距离 平均每秒要转360/22.5度
'''
金星简介
金星又称太白
距离太阳平均1.08亿千米
每225天公转一次
'''

天王十二步.地球公转

earth.circle(15,360/36.5)#半径为日地平均距离 平均每秒要转360/36.5度
'''
地球简介
地球别称 (  ) PS:我忘了你填
距离太阳平均1.5亿千米 俗称1AU
每365天公转一次
'''

天王十三步.火星公转

spark.circle(23,360/68.7)#半径为日火平均距离 平均每秒要转360/68.7度
'''
火星简介
火星又称荧惑星
距离太阳平均2.3亿千米
每687天公转一次
'''

天王十四步.木星公转

jupiter.circle(79.3,360/438)#半径为日木平均距离 平均每秒要转360/438度
'''
木星简介
木星又称岁星
距离太阳平均7.93亿千米
每约12年自转一次
'''

天王十五步.土星公转

saturn.circle(145,360/1095)#半径为日土距离 平均每秒要转360/1095度
'''
土星简介
土星别称镇星
距离太阳平均14.5亿千米
平均每30年公转一次
'''

天王十六步.天王星自转

uranus.circle(290,360/3066)#半径为日天王平均距离 平均每秒要转360/3066度
'''
天王星简介
天王星距离太阳平均为29亿千米
平均公转一次要84年
'''

天王十七步.海王星自转

neptune.circle(450,360/6022.5)#半径为日海王平均距离 每秒要转360/6022.5度
'''
海王星简介
海王星距离太阳平均30AU
平均自转一周要165年
'''

天王十八步.同时减速运行

turtle.update()#刷新一次
time.sleep(0.01)#如果没这个就会接着拼命加载

总览:

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(1.00,1.00);turtle.tracer(0)
sun=turtle.Turtle();sun.shape('circle');sun.pencolor('white')
mercury=turtle.Turtle();mercury.pu();mercury.goto(0,-5.8);mercury.shape('circle');mercury.pencolor('gray')
venus=turtle.Turtle();venus.pu();venus.goto(0,-10.8);venus.shape('circle');venus.pencolor('gold')
earth=turtle.Turtle();earth.pu();earth.goto(0,-14.9);earth.shape('circle');earth.pencolor('blue')
spark=turtle.Turtle();spark.penup();spark.goto(0,-23);spark.shape('circle');spark.pencolor('red')
jupiter=turtle.Turtle();jupiter.pu();jupiter.goto(0,-79.3);jupiter.shape('circle');jupiter.pencolor('yellow')
saturn=turtle.Turtle();saturn.penup();saturn.goto(0,-145);saturn.shape('circle');saturn.pencolor('yellow')
uranus=turtle.Turtle();uranus.pu();uranus.goto(0,-290);uranus.shape('circle');uranus.pencolor('sky blue')
neptune=turtle.Turtle();neptune.pu();neptune.goto(0,-450);neptune.shape('circle');neptune.pencolor('darkblue')
while True:
    mercury.circle(5.8,360/8.8)
    venus.circle(10.8,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(79.3,360/438)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

别钻牛角尖 有些星球虽然不是圆的 但也没有办法 毕竟就圆形最接近了

今天字的总数:6396

24h点赞破30更新c++    15赞更新python    10赞更新花絮 都没有就摆烂一天

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的 Python Turtle 太阳系绘制程序: ```python import turtle # 创建太阳 sun = turtle.Turtle() sun.shape("circle") sun.color("yellow") # 创建星 mercury = turtle.Turtle() mercury.shape("circle") mercury.color("gray") mercury.penup() mercury.goto(50, 0) mercury.pendown() venus = turtle.Turtle() venus.shape("circle") venus.color("orange") venus.penup() venus.goto(70, 0) venus.pendown() earth = turtle.Turtle() earth.shape("circle") earth.color("blue") earth.penup() earth.goto(100, 0) earth.pendown() mars = turtle.Turtle() mars.shape("circle") mars.color("red") mars.penup() mars.goto(130, 0) mars.pendown() jupiter = turtle.Turtle() jupiter.shape("circle") jupiter.color("brown") jupiter.penup() jupiter.goto(170, 0) jupiter.pendown() saturn = turtle.Turtle() saturn.shape("circle") saturn.color("gray") saturn.penup() saturn.goto(200, 0) saturn.pendown() # 设置星轨道 for planet in [mercury, venus, earth, mars, jupiter, saturn]: planet.speed(0) planet.penup() planet.goto(0, 0) planet.pendown() planet.circle(50, 360) # 设置星运动 while True: mercury.circle(50, 3) venus.circle(70, 2) earth.circle(100, 1) mars.circle(130, 0.5) jupiter.circle(170, 0.2) saturn.circle(200, 0.1) ``` 运行程序后,将会出现一个太阳和六个星,星将围绕太阳进运动。程序中使用了 Turtle 库的 `Turtle` 类来创建太阳和星,使用 `penup()` 和 `pendown()` 方法来设置星轨道,使用 `circle()` 方法来设置星运动。在最后一个 `while` 循环中,每个星将按不同的速度绕着太阳运动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值