导航:首页 > 编程语言 > python星空浪漫代码

python星空浪漫代码

发布时间:2023-01-24 22:15:24

⑴ 121 11 个案例掌握 python 数据可视化--星际探索

星空是无数人梦寐以求想了解的一个领域,远古的人们通过肉眼观察星空,并制定了太阴历,指导农业发展。随着现代科技发展,有了更先进的设备进行星空的探索。本实验获取了美国国家航空航天局(NASA)官网发布的地外行星数据,研究及可视化了地外行星各参数、寻找到了一颗类地行星并研究了天体参数的相关关系。
输入并执行魔法命令 %matplotlib inline, 设置全局字号,去除图例边框,去除右侧和顶部坐标轴。

本数据集来自 NASA,行星发现是 NASA 的重要工作之一,本数据集搜集了 NASA 官网发布的 4296 颗行星的数据,本数据集字段包括:

导入数据并查看前 5 行。

截至 2020 年 10 月 22 日 全球共发现 4296 颗行星,按年聚合并绘制年度行星发现数,并在左上角绘制 NASA 的官方 LOGO 。

从运行结果可以看出,2005 年以前全球行星发现数是非常少的,经计算总计 173 颗,2014 和 2016 是行星发现成果最多的年份,2016 年度发现行星 1505 颗。

对不同机构/项目/计划进行聚合并降序排列,绘制发现行星数目的前 20 。

2009 年至 2013 年,开普勒太空望远镜成为有史以来最成功的系外行星发现者。在一片天空中至少找到了 1030 颗系外行星以及超过 4600 颗疑似行星。当机械故障剥夺了该探测器对于恒星的精确定位功能后,地球上的工程师们于 2014 年对其进行了彻底改造,并以 K2 计划命名,后者将在更短的时间内搜寻宇宙的另一片区域。

对发现行星的方式进行聚合并降序排列,绘制各种方法发现行星的比例,由于排名靠后的几种方式发现行星数较少,因此不显示其标签。

行星在宇宙中并不会发光,因此无法直接观察,行星发现的方式多为间接方式。从输出结果可以看出,发现行星主要有以下 3 种方式,其原理如下:

针对不同的行星质量,绘制比其质量大(或者小)的行星比例,由于行星质量量纲分布跨度较大,因此采用对数坐标。

从输出结果可以看出,在已发现的行星中,96.25% 行星的质量大于地球。(图中横坐标小于 e 的红色面积非常小)

通过 sns.distplot 接口绘制全部行星的质量分布图。

从输出结果可以看出,所有行星质量分布呈双峰分布,第一个峰在 1.8 左右(此处用了对数单位,表示大约 6 个地球质量),第二个峰在 6.2 左右(大概 493 个地球质量)。

针对不同发现方式发现的行星,绘制各行星的公转周期和质量的关系。

从输出结果可以看出:径向速度(Radial Velocity)方法发现的行星在公转周期和质量上分布更宽,而凌日(Transit)似乎只能发现公转周期相对较短的行星,这是因为两种方法的原理差异造成的。对于公转周期很长的行星,其运行到恒星和观察者之间的时间也较长,因此凌日发现此类行星会相对较少。而径向速度与其说是在发现行星,不如说是在观察恒星,由于恒星自身发光,因此其观察机会更多,发现各类行星的可能性更大。

针对不同发现方式发现的行星,绘制各行星的距离和质量的关系。

从输出结果可以看出,凌日和径向速度对距离较为敏感,远距离的行星大多是通过凌日发现的,而近距离的行星大多数通过径向速度发现的。原因是:近距离的行星其引力对恒星造成的摆动更为明显,因此更容易观察;当距离较远时,引力作用变弱,摆动效应减弱,因此很难借助此方法观察到行星。同时,可以观察到当行星质量更大时,其距离分布相对较宽,这是因为虽然相对恒星的距离变长了,但是由于行星质量的增加,相对引力也同步增加,恒星摆动效应会变得明显。

将所有行星的质量和半径对数化处理,绘制其分布并拟合其分布。
由于:

因此,从原理上质量对数与半径对数应该是线性关系,且斜率为定值 3 ,截距的大小与密度相关。

从输出结果可以看出:行星质量和行星半径在对数变换下,具有较好的线性关系。输出 fix_xy 数值可知,其关系可以拟合出如下公式:

拟合出曲线对应的行星平均密度为:

同样的方式绘制恒星质量与半径的关系。

从输出结果可以看出,恒星与行星的规律不同,其质量与半径在对数下呈二次曲线关系,其关系符合以下公式:

同样的方式研究恒星表面重力加速度与半径的关系。

从输出结果可以看出,恒星表面对数重力加速度与其对数半径呈现较好的线性关系:

以上我们分别探索了各变量的分布和部分变量的相关关系,当数据较多时,可以通过 pd.plotting.scatter_matrix 接口,直接绘制各变量的分布和任意两个变量的散点图分布,对于数据的初步探索,该接口可以让我们迅速对数据全貌有较为清晰的认识。

通过行星的半径和质量,恒星的半径和质量,以及行星的公转周期等指标与地球的相似性,寻找诸多行星中最类似地球的行星。

从输出结果可以看出,在 0.6 附近的位置出现了一个最大的圆圈,那就是我们找到的类地行星 Kepler - 452 b ,让我们了解一下这颗行星:

数据显示,Kepler - 452 b 行星公转周期为 384.84 天,半径为 1.63 地球半径,质量为 3.29 地球质量;它的恒星为 Kepler - 452 半径为太阳的 1.11 倍,质量为 1.04 倍,恒星方面数据与太阳相似度极高。
以下内容来自网络。 开普勒452b(Kepler 452b) ,是美国国家航空航天局(NASA)发现的外行星, 直径是地球的 1.6 倍,地球相似指数( ESI )为 0.83,距离地球1400光年,位于为天鹅座。
2015 年 7 月 24 日 0:00,美国国家航空航天局 NASA 举办媒体电话会议宣称,他们在天鹅座发现了一颗与地球相似指数达到 0.98 的类地行星开普勒 - 452 b。这个类地行星距离地球 1400 光年,绕着一颗与太阳非常相似的恒星运行。开普勒 452 b 到恒星的距离,跟地球到太阳的距离相同。NASA 称,由于缺乏关键数据,现在不能说 Kepler - 452 b 究竟是不是“另外一个地球”,只能说它是“迄今最接近另外一个地球”的系外行星。

在银河系经纬度坐标下绘制所有行星,并标记地球和 Kepler - 452 b 行星的位置。

类地行星,是人类寄希望移民的第二故乡,但即使最近的 Kepler-452 b ,也与地球相聚 1400 光年。

以下通过行星的公转周期和质量两个特征将所有行星聚为两类,即通过训练获得两个簇心。
定义函数-计算距离
聚类距离采用欧式距离:

定义函数-训练簇心
训练簇心的原理是:根据上一次的簇心计算所有点与所有簇心的距离,任一点的分类以其距离最近的簇心确定。依此原理计算出所有点的分类后,对每个分类计算新的簇心。

定义函数预测分类
根据训练得到的簇心,预测输入新的数据特征的分类。

开始训练
随机生成一个簇心,并训练 15 次。

绘制聚类结果
以最后一次训练得到的簇心为基础,进行行星的分类,并以等高面的形式绘制各类的边界。

从运行结果可以看出,所有行星被分成了两类。并通过上三角和下三角标注了每个类别的簇心位置。
聚类前
以下输出了聚类前原始数据绘制的图像。

⑵ python和VB哪个更容易学习入门呢

作为入门,VB学习起来更加容易。

VB6功能固定,简单易用,有利于教学。看过中小学教材就知道,教学内容只有VB6基本功能的几十分之一,VB6用起来绰绰有余。比Python更方便、完备,更适合小白。

比如Python没有中文界面,就能吓退99%的普通大众用户。频繁升级和PIP安装,立即会被网管老师劝退。所以目前中小学教育,教材中大多还是用VB6。至于大学,没必要学VB,因为中国的VB开发者只有万分之一几乎绝迹,距离实用太远。

Python有趣的扩展更多,应用的领域更广,适合于个人兴趣学习和自学深钻。真正想做程序员,肯定学Python入门更强大,

(2)python星空浪漫代码扩展阅读

由于VB6是商业编程工具,大部分扩展都是专业公司开发的昂贵的控件(几千元一个许可),且品种有限。现在VB6早已停止商务发展,扩展能力几乎为零。VB还可以进行Windows API调用,当然这个有一定使用难度,而且仅限于桌面平台。

而Python作为一个免费开源产品,最大的特点就是星空般绵绵不绝的扩展库。Python是开源最活跃的语言之一,全世界编程爱好者都贡献其中,还有谷歌这样的巨头赞助和贡献大量AI库。Python的扩展库遍布各个领域,各种应用场景,让Python的能力扩大了千万倍。

⑶ 如何用 Python 告白

Python的字面意思就是一种计算机编程代码的意识,我的理解没错的话你想表白的对象应该是学计算机编程的人,如果是你特别喜欢的人我建议你要告白的话还是要学会放长线钓大鱼,特别是你不确定他是否喜欢你的情况下,无论是有计划还是没计划失败的几率会很大。因此我建议你先打听清楚他的喜好他的性格特点以及做什么工作,如果他经常去吃饭的餐厅,他喜欢的电影,他的兴趣爱好,是否喜欢健身,收藏漫画或者喜欢看书啥的。

然后再有计划地去接近他,当然不要表现得太明显,你可以在他经常出现的餐厅或者经常办公的场所出没,你出现的时候要看时间或者做其他的事情,假装是恰巧偶遇,然后再上去搭讪。如果他对你不反感就说明他是不讨厌你的。

接下来你就可以更进一步了,你可以试着先跟他做朋友,关注他的生活状态,每次询问关心他的时候最好都是要假装不经意间提起的,不要让他察觉你是有目的的,等他对你没啥防备心理把你当做好朋友之后,你就可以多约他吃饭散步什么的,反正有事没事都可以经常找他帮忙或者让他陪你一起做。当然,你也可以经常制造一些麻烦让他帮忙,增进你们之间的感情,如果他在跟你相处的过程中对你不排斥的话,你可以试着慢慢撩他,注意是撩!就是时不时说一些暧昧的话,如果他不反感而且积极回应你的话那你成功的几率就会大很多。

接下来你需要做的就是让他慢慢发现你对他的重要性,让他学会依赖你。需要注意的是,在跟他相处的过程中千万要记得一定要把你优秀的一面展现给他看,让他有一个意识觉得你是一个很靠谱可以托付终身的那种人,如果你发现你在他的心里地位越来越重的时候,那么你就可以开始你的告白计划了。在策划告白计划的时候你一定要记得根据他的喜好来,如果你有经济能力的话你可以出大手笔一点,比如如果他喜欢戒指那么你可以约他出去吃饭,把戒指放在菜单里面让他不经意发现,制造浪漫,一定要让他感受到你的与众不同跟用心良苦。如果他喜欢电影的话你可以收集他的资料,照片或者拍视频,制作成一个小影片,然后约他去你家看,给他制造惊喜然后看他反映趁机表白。总之一定要别出心裁,做别人没做过的,这样成功的几率会更大。

⑷ 用python设计程序输生日判断星座,及星座简笔画。

"""
还有几个星座符未画
"""
importturtle
classPh():
def__init__(self):
pass

defAries(self):
turtle.pensize(10)
turtle.seth(190)
turtle.circle(-25,240)
turtle.circle(-300,30)
turtle.seth(-80)
turtle.fd(20)
turtle.seth(80)
turtle.fd(20)
turtle.circle(-300,30)
turtle.circle(25,240)
return"白羊星座符"

defTaurus(self):
turtle.pensize(10)
turtle.seth(-90)
turtle.fd(100)
foriinrange(2):
turtle.seth(190)
turtle.fd(80)
turtle.circle(-20,180)
turtle.fd(80)
turtle.circle(100,30)
turtle.penup()
turtle.seth(100)
turtle.fd(5)
turtle.seth(90)
turtle.pendown()
turtle.circle(-10,180)
turtle.circle(-80,70)
return"金牛星座符"

defGemini(self):
return"双子星座符"

defCancer(self):
return"巨蟹星座符"

defLeo(self):
return"狮子星座符"

defVirgo(self):
return"处女星座符"

defLibra(self):
return"天秤星座符"

defScorpio(self):
return"天蝎星座符"

defSagittarius(self):
return"射手星座符"

defCapricornus(self):
turtle.pensize(10)
turtle.circle(-20,60)
turtle.seth(-90)
return"魔羯星座符"

defAquarius(self):
return"水瓶星座符"

defPisces(self):
return"双鱼星座符"


classZkz(Ph):

def__init__(self):
pass

defsx(self,year):
y=(year-1972)%12#对12取余
returnshx[y]#从字典shx里依次取对应的生肖,如:1972即余数0,取“鼠”

defxz(self,month,date):
ifdate<d[month-1]:#如果是1.19号,即取d中1月份的20
returnc[month-1]#日期在20号之前,即取对应到c的摩羯座
else:
returnc[month]#否则就是20号之后,下一个水瓶座


if__name__=="__main__":
f1="精力旺盛、活力充沛的星座。性格与爱情多数“横冲直撞”,但纯真的个性里没有杀伤力,所以不用太担心"
f2="慢条斯理的星座。凡事总是考虑后再过滤,属于大器晚成型,情思也比较晚开。他们有超人的稳定性,一旦下赌注,就有把握赢"
f3="变化速度快如风的星座。双子的双重性格常搞的别人和自己头痛万分,对于事业与爱情,如果肯多花点心思经营,应该会是很好的,但...他们实在是太机灵了"
f4="非常需要爱与安定的星座。爱猜疑的个性,使他们在人生旅途上处处显得缺乏安全感。但是带着母爱光辉的巨蟹,为了所爱倒是心甘情愿的付出"
f5="讲究气派华丽的星座。狮子是森林之王,理所当然喜欢呼朋引伴,有些耐不住寂寞。他们有冲劲,虽然粗枝大叶,但为人讲义气,也蛮有人缘"
f6="有点挑剔又追求完美的星座。缺乏信心的个性,常在潜意识里责怪自己不够美好;虽然难免会使心情沉重,但天生的优点就是放得开,不会就此一蹶不振"
f7="爱美又怕空虚的星座。凭借天生的外交本领,能在各色人物之间周旋;但有时也会因为过于顾虑面面俱到,搞的吃力不讨好,脑筋常常转来转去,当心神经衰弱"
f8="神秘诡谲,令人费疑猜的星座。他们可以很执着,也可以很破坏;在爱情的国度里黑白分明,没有灰色地带,他们对于自己的目标相当清楚,一旦确立就往前冲"
f9="自由浪漫也滥情的星座。不爱受约束的个性使他们很怕被捆绑,多情的天性也使他们四处寻求猎物;性情天真,常会伤了人也不自觉,爱他们~就由他们去吧"
f10="严谨刻板,稳重老成的星座。虽然他们一向给人呆板的印象,但是呆板的人普遍说来不太耍花样;不管是在事业或爱情上,他们也都以这份特殊气质获胜"
f11="思想超前,理性自重的星座。一样的不爱受约束,一样的博爱,但他们还是不同射手座;他们较着重于精神层次的提升,是很好的启发对象"
f12="多愁敏感,爱作梦、幻想的星座。天生多情,使他们常为情字挣扎,情绪的波动起伏也跟脱不了关系;但他们生性柔弱,很喜欢奉献,也不会随意伤人"

b={'白羊座':f1,'金牛座':f2,'双子座':f3,'巨蟹座':f4,'狮子座':f5,'处女座':f6,'天秤座':f7,'天蝎座':f8,'射手座':f9,'魔羯座':f10,'水瓶座':f11,'双鱼座':f12}
shx={0:"鼠",1:"牛",2:"虎",3:"兔",4:"龙",5:"蛇",6:"马",7:"羊",8:"猴",9:"鸡",10:"狗",11:"猪"}
d=(20,19,21,20,21,22,23,23,23,24,23,22)#按日期顺序把每个月的分隔星座的日期列出来,从水瓶座(1月)开始

c=("摩羯座","水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座")
#有了列表d的分隔日期,对应在此分隔日期之前的星座写入列表c,如:第一个水瓶座的20号之前是摩羯座

sr=input("请输入您的生日(格式:1992.03.21):")

z=Zkz()
t=sr.split(".")#切片,把sr以“.”分割,变成3个字符串
year=int(t[0])
month=int(t[1])
date=int(t[2])
print("您的生肖是:%s"%z.sx(year))
print("您的星座是:%s"%z.xz(month,date))
print('{0}是{1}'.format(z.xz(month,date),b.get(z.xz(month,date))))

ifz.xz(month,date)is'白羊座':
print(z.Aries())
elifz.xz(month,date)is'金牛座':
print(z.Taurus())
elifz.xz(month,date)is'双子座':
print(z.Gemini())
elifz.xz(month,date)is'巨蟹座':
print(z.Cancer())
elifz.xz(month,date)is'狮子座':
print(z.Leo())
elifz.xz(month,date)is'处女座':
print(z.Virgo())
elifz.xz(month,date)is'天秤座':
print(z.Libra())
elifz.xz(month,date)is'天蝎座':
print(z.Scorpio())
elifz.xz(month,date)is'射手座':
print(z.Sagittarius())
elifz.xz(month,date)is'魔羯座':
print(z.Capricornus())
elifz.xz(month,date)is'水瓶座':
print(z.Aquarius())
elifz.xz(month,date)is'双鱼座':
print(z.Pisces())

⑸ 用python做星座介绍程序。

"""
*****************输入出生年月,可以知道生肖、星座、星座符号和星座特点*********************
"""

f1="精力旺盛、活力充沛的星座。性格与爱情多数“横冲直撞”,但纯真的个性里没有杀伤力,所以不用太担心"
f2="慢条斯理的星座。凡事总是考虑后再过滤,属于大器晚成型,情思也比较晚开。他们有超人的稳定性,一旦下赌注,就有把握赢"
f3="变化速度快如风的星座。双子的双重性格常搞的别人和自己头痛万分,对于事业与爱情,如果肯多花点心思经营,应该会是很好的,但...他们实在是太机灵了"
f4="非常需要爱与安定的星座。爱猜疑的个性,使他们在人生旅途上处处显得缺乏安全感。但是带着母爱光辉的巨蟹,为了所爱倒是心甘情愿的付出"
f5="讲究气派华丽的星座。狮子是森林之王,理所当然喜欢呼朋引伴,有些耐不住寂寞。他们有冲劲,虽然粗枝大叶,但为人讲义气,也蛮有人缘"
f6="有点挑剔又追求完美的星座。缺乏信心的个性,常在潜意识里责怪自己不够美好;虽然难免会使心情沈重,但天生的优点就是放得开,不会就此一蹶不振"
f7="爱美又怕空虚的星座。凭借天生的外交本领,能在各色人物之间周旋;但有时也会因为过于顾虑面面俱到,搞的吃力不讨好,脑筋常常转来转去,当心神经衰弱"
f8="神秘诡谲,令人费疑猜的星座。他们可以很执着,也可以很破坏;在爱情的国度里黑白分明,没有灰色地带,他们对于自己的目标相当清楚,一旦确立就往前冲"
f9="自由浪漫也滥情的星座。不爱受约束的个性使他们很怕被捆绑,多情的天性也使他们四处寻求猎物;性情天真,常会伤了人也不自觉,爱他们~就由他们去吧"
f10="严谨刻板,稳重老成的星座。虽然他们一向给人呆板的印象,但是呆板的人普遍说来不太耍花样;不管是在事业或爱情上,他们也都以这份特殊气质获胜"
f11="思想超前,理性自重的星座。一样的不爱受约束,一样的博爱,但他们还是不同射手座;他们较着重于精神层次的提升,是很好的启发对象"
f12="多愁敏感,爱作梦、幻想的星座。天生多情,使他们常为情字挣扎,情绪的波动起伏也跟脱不了关系;但他们生性柔弱,很喜欢奉献,也不会随意伤人"

a=['白羊','金牛','双子','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','魔羯座','水瓶座','双鱼座']
b={'白羊':f1,'金牛':f2,'双子':f3,'巨蟹座':f4,'狮子座':f5,'处女座':f6,'天秤座':f7,'天蝎座':f8,'射手座':f9,'魔羯座':f10,'水瓶座':f11,'双鱼座':f12}


defsx(year):

y=(year-1972)%12#对12取余

returnshx[y]#从字典shx里依次取对应的生肖,如:1972即余数0,取“鼠”

defxz(month,date):

d=(20,19,21,20,21,22,23,23,23,24,23,22)#按日期顺序把每个月的分隔星座的日期列出来,从水瓶座(1月)开始

c=("摩羯座","水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座")
#a=['白羊','金牛','双子','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','魔羯座','水瓶座','双鱼座']
#i=a.index(xz(month,date))
#print(chr(9800+i),":",end=xz(month,date))

#有了列表d的分隔日期,对应在此分隔日期之前的星座写入列表c,如:第一个水瓶座的20号之前是摩羯座

ifdate<d[month-1]:#如果是1.19号,即取d中1月份的20

returnc[month-1]#日期在20号之前,即取对应到c的摩羯座

else:

returnc[month]#否则就是20号之后,下一个水瓶座

shx={0:"鼠",1:"牛",2:"虎",3:"兔",4:"龙",5:"蛇",6:"马",7:"羊",8:"猴",9:"鸡",10:"狗",11:"猪"}
sr=input("请输入您的生日(格式:1992.10.23):")
t=sr.split(".")#切片,把sr以“.”分割,变成3个字符串
year=int(t[0])
month=int(t[1])
date=int(t[2])
print("您的生肖是:%s"%sx(year))
print("您的星座是:%s"%xz(month,date))
i=a.index(xz(month,date))
print(chr(9800+i),":",end=xz(month,date))
print(' ')
print('{0}是{1}'.format(xz(month,date),b.get(xz(month,date))))

阅读全文

与python星空浪漫代码相关的资料

热点内容
centos命令窗口 浏览:596
编译器有几个好用的 浏览:500
数据库和网站如何搭载服务器 浏览:154
网络流理论算法与应用 浏览:795
java和matlab 浏览:388
钉钉苹果怎么下app软件 浏览:832
php网站验证码不显示 浏览:859
铝膜构造柱要设置加密区吗 浏览:344
考驾照怎么找服务器 浏览:884
阿里云服务器如何更换地区 浏览:972
手机app调音器怎么调古筝 浏览:503
锐起无盘系统在服务器上需要设置什么吗 浏览:19
红旗出租车app怎么应聘 浏览:978
如何编写linux程序 浏览:870
吉利车解压 浏览:248
java输入流字符串 浏览:341
安卓软件没网怎么回事 浏览:785
dvd压缩碟怎么导出电脑 浏览:275
冒险岛什么服务器好玩 浏览:543
如何在服务器上做性能测试 浏览:794