1.输入月份和日期给出对应星座

python星座进行分析并输出_星座日期对应表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}

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);

}

}

很简单的