上期作品质量分6分 不是很理想 今天发个《Python turtle标准库 无图 太阳系Pro Max版》
其实本来我不想做这个程序的
但是今天是我参加完天文比赛的61分之10周年(我2024.5.12参加的)
太阳太大了 这边建议别调大小 改变大小的那一行别写
还有 别说我不严谨了 turtle里的球本来就有10像素的直径
31行以下代码段为准
接上期规矩:天王18步
老规矩.先放代码
import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
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(80,360/438)
sh.circle(145,360/1095)
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(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
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(80,360/438)
sh.circle(145,360/1095)
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(900,900)#至少要这么大才能完整的装下这个程序
turtle.tracer(0)#开始不要命运行 以前填的是False 但其实0也是False
def pg(pen,x,y):#没特殊意思 全称pengoto 封装函数
pen.pu()#不让画笔留下痕迹
pen.goto(x,y)#让画笔去x,y
pen.pd()#让画笔留下痕迹
天王二步.太阳Sun
sun=turtle.Turtle()#太阳的画笔
sun.shape('circle')#太阳是圆的
sun.pencolor('white')#太阳通常是白色 不过太阳因为大气层反射不像白色
sun.shapesize(139.2)#太阳基本上就是整个屏幕了 这边建议不写
天王二步.水星Mercury
mercury=turtle.Turtle()#水星画笔
mercury.shapesize(0.005)#水星的直径约为0.0005亿千米
mercury.color('gray')#水星近似灰色 以为是蓝色的我只想说其实水星和月球差不多
pg(mercury,0,-6)#水星距离太阳约有0.6亿千米
mercury.shape('circle')#把水星改成圆的
天王三步.金星Venus
venus=turtle.Turtle()#金星画笔
venus.shapesize(0.012)#金星的直径约为0.0012亿千米
venus.color('gold')#把金星近似金色
pg(venus,0,-11)#金星距离太阳约有1.1亿千米
venus.shape('circle')#圆形金星
天王四步.地球Earth
earth=turtle.Turtle()#地球画笔
earth.shapesize(0.012)#地球直径约为0.0012亿千米
earth.color('blue')#地球主要是蓝色的
pg(earth,0,-15)#地球距离太阳约1.5亿千米 俗称1AU
earth.shape('circle')#圆形地球
天王五步.火星Spark
spark=turtle.Turtle()#火星画笔
spark.shapesize(0.007)#火星的直径约为0.0007亿千米
spark.color('red')#火星近似红色
pg(spark,0,-23)#火星距离太阳2.3亿千米
spark.shape('circle')#圆形火星
天王六步.木星Jupiter
jupiter=turtle.Turtle()#木星画笔
jupiter.shapesize(0143)#木星直径约为0.0143亿千米
jupiter.color('yellow')#木星的颜色多种多样 本来取的棕色 但是不太明显 还是取黄色吧
pg(jupiter,0,-80)#木星距离太阳约8亿千米
jupiter.shape('circle')#圆形木星
天王七步.土星saturn+土星环
sh=turtle.Turtle()#土星环画笔
sh.shapesize(0.6)#土星环直径为0.6亿千米
sh.pencolor('yellow')#土星环边边为黄色
pg(sh,0,-145)#和土星一样
sh.shape('circle')#圆形土星环
saturn=turtle.Turtle()#土星画笔
saturn.shapesize(0.12)#土星直径为0.12亿千米
saturn.color('yellow')#土星近似黄色
pg(saturn,0,-145)#土星距离太阳约14.5亿千米
saturn.shape('circle')#圆形土星
天王八步.天王星Uranus
uranus=turtle.Turtle()#海王星画笔
uranus.shapesize(0.06)#海王星的直径约为0.006亿千米
uranus.color('sky blue')#海王星近似天蓝色
pg(uranus,0,-290)#海王星距离太阳约29亿千米
uranus.shape('circle')#圆形海王星
天王九步.海王星Neptune
uranus=turtle.Turtle()#天王星画笔
uranus.shapesize(0.6)#天王星直径约为0.06亿千米
uranus.color('sky blue')#天王星呈天蓝色
pg(uranus,0,-290)#天王星距离太阳约29亿千米
uranus.shape('circle')#圆形天王星
天王十步.水星公转
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(80,360/438)#半径为日木平均距离 平均每秒要转360/438度
'''
木星简介
木星又称岁星
距离太阳平均约8亿千米
每约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年左右
'''
天王十八步.留下轨道并减速运行
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
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(80,360/438)
sh.circle(145,360/1095)
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(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
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(80,360/438)
sh.circle(145,360/1095)
saturn.circle(145,360/1095)
uranus.circle(290,360/3066)
neptune.circle(450,360/6022.5)
turtle.update();time.sleep(0.01)
别钻牛角尖 有些星球虽然不是圆的 但也没有办法 毕竟就圆形最接近了
MVP结算:
今天质量分:86
今天字的总数:8279
24h点赞破30更新c++ 15赞更新python 10赞更新花絮 都没有就摆烂一天