python输入星座输出生日代码

Python017

python输入星座输出生日代码,第1张

1.

定义一个get_constellation(month,date)函数,来获取出生日期。

2.

创建一个dates和constellations分别来储存对应的日和星座

3.

用if语句判断输入的日数是否小于出生月份减一所对应的日数。

4.

如果是就返回月份减一所对应的星座,不是就返回出生月份所对应的星座。

"""

还有几个星座符未画

"""

import turtle

class Ph():

    def __init__(self):

         pass

     

    def  Aries(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 "白羊星座符"

    def  Taurus(self): 

          turtle.pensize(10)

          turtle.seth(-90)         

          turtle.fd(100)

          for i in range(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 "金牛星座符"

    def Gemini(self):

        return "双子星座符"

    def Cancer(self):

        return "巨蟹星座符"

    def Leo(self):

        return "狮子星座符"

    def Virgo(self):

        return "处女星座符"

    def Libra(self):

        return "天秤星座符"

    def Scorpio(self):

        return "天蝎星座符"

        

    def Sagittarius(self):

        return "射手星座符"

    def Capricornus(self):

        turtle.pensize(10)

        turtle.circle(-20,60)

        turtle.seth(-90)  

        return "魔羯星座符"

    def Aquarius(self):

        return "水瓶星座符"

    def Pisces(self):

        return "双鱼星座符"

    

class Zkz(Ph):

     

     def __init__(self):

         pass

     def sx(self,year):

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

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

     def xz(self,month,date):

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

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

         else:

             return c[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))))

     if z.xz(month,date) is  '白羊座': 

            print(z.Aries())

     elif z.xz(month,date) is '金牛座':

            print(z.Taurus())       

     elif z.xz(month,date) is '双子座':

            print(z.Gemini()) 

     elif z.xz(month,date) is '巨蟹座':

            print(z.Cancer())     

     elif z.xz(month,date) is '狮子座':

            print(z.Leo())

     elif z.xz(month,date) is '处女座':

            print(z.Virgo())  

     elif z.xz(month,date) is '天秤座':

            print(z.Libra()) 

     elif z.xz(month,date) is '天蝎座':

            print(z.Scorpio())    

     elif z.xz(month,date) is '射手座':

            print(z.Sagittarius())

     elif z.xz(month,date) is '魔羯座':

           print(z.Capricornus())

     elif z.xz(month,date) is '水瓶座':

           print(z.Aquarius())

     elif z.xz(month,date) is '双鱼座':

           print(z.Pisces())