python星座进行分析并输出_星座日期对应表python代码
1.输入月份和日期给出对应星座
"""
*****************输入出生年月,可以知道生肖、星座、星座符号和星座特点*********************
"""
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}
def?sx(year):
y?=?(year-12)%12?#对12取余
return?shx[y]?#从字典shx里依次取对应的生肖,如:12即余数0,取“鼠”
def?xz(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号之前是摩羯座
if?date<d[month-1]:?#如果是1.19号,即取d中1月份的20
return?c[month-1]?#日期在20号之前,即取对应到c的摩羯座
else:
return?c[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('\n')
print('{0}是{1}'.format(xz(month,date),b.get(xz(month,date))))
输入月份和日期给出对应星座
1.
定义一个get_constellation(month,date)函数,来获取出生日期。
2.
创建一个dates和constellations分别来储存对应的日和星座。
3.
用if语句判断输入的日数是否小于出生月份减一所对应的日数。
4.
如果是就返回月份减一所对应的星座,不是就返回出生月份所对应的星座。
#include<stdio.h>
void main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=a*100+b;
switch(c)
{
case (c>=121&&c<=220):printf("%a月%b日为宝瓶座\n",a,b);
case (c>=221&&c<=320):printf("%d月%d日为双鱼座\n",a,b);
case (c>=321&&c<=420):printf("%d月%d日为白羊座\n",a,b);
case (c>=421&&c<=520):printf("%d月%d日为金牛座\n",a,b);
case (c>=521&&c<=620):printf("%d月%d日为双子座\n",a,b);
case (c>=621&&c<=722):printf("%d月%d日为巨蟹座\n",a,b);
case (c>=723&&c<=822):printf("%d月%d日为狮子座\n",a,b);
case (c>=823&&c<=922):printf("%d月%d日为处女座\n",a,b);
case (c>=923&&c<=1022):printf("%d月%d日为天秤座\n",a,b);
case (c>=1023&&c<=1122):printf("%d月%d日为天蝎座\n",a,b);
case (c>=1023&&c<=1222):printf("%d月%d日为人马座\n",a,b);
case (c>=1223&&c<=1231):printf("%d月%d日为摩羯座\n",a,b);
case (c>=101&&c<=120):printf("%d月%d日为双鱼座\n",a,b);
}
}
很简单的
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。