python输入星座输出生日代码
1.
定义一个get_constellation(month,date)函数,来获取出生日期。
2.
创建一个dates和constellations分别来储存对应的日和星座。
3.
用if语句判断输入的日数是否小于出生月份减一所对应的日数。
4.
如果是就返回月份减一所对应的星座,不是就返回出生月份所对应的星座。
输入月份和日期给出对应星座
#includestdio.h
void main()
{
int a,b,c;
scanf("%d%d",a,b);
c=a*100+b;
switch(c)
{
case (c=121c=220):printf("%a月%b日为宝瓶座\n",a,b);
case (c=221c=320):printf("%d月%d日为双鱼座\n",a,b);
case (c=321c=420):printf("%d月%d日为白羊座\n",a,b);
case (c=421c=520):printf("%d月%d日为金牛座\n",a,b);
case (c=521c=620):printf("%d月%d日为双子座\n",a,b);
case (c=621c=722):printf("%d月%d日为巨蟹座\n",a,b);
case (c=723c=822):printf("%d月%d日为狮子座\n",a,b);
case (c=823c=922):printf("%d月%d日为处女座\n",a,b);
case (c=923c=1022):printf("%d月%d日为天秤座\n",a,b);
case (c=1023c=1122):printf("%d月%d日为天蝎座\n",a,b);
case (c=1023c=1222):printf("%d月%d日为人马座\n",a,b);
case (c=1223c=1231):printf("%d月%d日为摩羯座\n",a,b);
case (c=101c=120):printf("%d月%d日为双鱼座\n",a,b);
}
}
很简单的
汇编程序设计星座查询系统
;哥们,你的课题也太麻烦了......不过,还是做出来了!!!
;
;用MASM 5.0编译
;文件输出格式如下:
;ZZZZZZZZZ 2.22 双鱼座 Pisces
;DDDDDDDDD 3.13 双鱼座 Pisces
;aaaaaaaaa 1.22 水瓶座 Aquarius
;VVVVVVVVV 5.23 双子座 Gemini
;汇编程序设计星座查询系统
; 悬赏分:50 - 离问题结束还有 15 天 9 小时
;功能描述:
; 通过输入姓名,月份日期 输出相应的星座。如输入:04-19,输;出:Aries。
; 输入Q 结束退出。同时把刚才的查询结果保存在quary.txt文档中。
;文档中的格式为:
;姓名 生日 星座
;
;星座日期信息如下:
;星座 日期(公历) 英文名
;魔羯座 (12/22 - 1/19) Capricorn 29
;水瓶座 (1/20 - 2/18) Aquarius 29
;双鱼座 (2/19 - 3/20) Pisces 30-31
;牡羊座 (3/21 - 4/20) Aries 31
;金牛座 (4/21 - 5/20) Taurus 30
;双子座 (5/21 - 6/21) Gemini 32
;巨蟹座 (6/22 - 7/22) Cancer 31
;;狮子座 (7/23 - 8/22) Leo 31
;处女座 (8/23 - 9/22) Virgo 31
;天秤座 (9/23 - 10/22) Libra 30
;天蝎座 (10/23 - 11/21) Scorpio 30
;射手座 (11/22 - 12/21) Sagittarius 30
;
;这个不会做额,哪位高手能在元旦假之前教我做呀?急用额,帮帮忙!
;能运行的话一定追加分感谢
;问题补充:邮箱651325419@qq.com
;;;
;
; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23
;;
;
;
;
;
data segment
DIAN DB '.' ;"月.日"
KONG DB 5 DUP (' ') ;5个空格
xz_long EQU 12+7 ;整个xz 中单个XZ的长度
;file db 'czr.txt',0
file db 'quary.txt',0
handle dw ?
ERR1 db 0dh,0ah,'Creat file Error!$'
xz db '水瓶座 Aquarius $双鱼座 Pisces $牡羊座 Aries $金牛座 Taurus $双子座 Gemini $巨蟹座 Cancer $狮子座 Leo $处女座 Virgo $天秤座 Libra $天蝎座 Scorpio $射手座 Sagittarius$魔羯座 Capricorn $'
buff1 db 10,11 dup (0) ;input name
buff2 db 3,4 dup (0) ;input month
buff3 db 3,4 dup (0) ;input day
m1 db 0 ;month
d1 db 0 ;day
CRLF DB 0dh,0ah,'$'
file_ptr dw ? ;write position from string xz
s1 db 0dh,0ah,0dh,0ah,' Name: $'
s2 db 0dh,0ah,'Month: $'
s3 db 0dh,0ah,' Day: $'
W_F_BUFF DB 0DH,0AH
data ends
code segment
assume cs:code, ds:data
main proc far
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
;--------------------------------------FFFFFFFFFFF
mov dx,offset file
mov al,2 ;r/w mode
mov ah,3dh ;open file
int 21h
jc error ;open file error
mov handle,ax ;save handle
jmp w_file
error:
mov dx,offset file
mov cx,0 ;file attr
mov ah,3ch ;creat file
int 21h
jc error_1
mov handle,ax ;save handle
jmp w_file
error_1:
mov ah,09
lea dx,ERR1 ;disp 'Creat file Error!$'
int 21h
jmp END_D
w_file:
mov ah,42h ;shift file w/r ptr
mov bx,handle
mov al,2 ;set w/r ptr to file eof
mov cx,0
mov dx,0
int 21h
;--------------------FFFFFFFFFFFFFFFFFFFFFFFF
;-------------------------
START_1:
mov ah,09
mov dx ,offset s1 ;input name
int 21h
mov ah,0ah
mov dx,offset buff1
int 21h
;
MOV BX ,offset BUFF1+1 ;判断是否输入'Q'退出
MOV AL,[BX]
CMP AL,1
JNE NO_QUIT
INC BX
MOV AL,[BX]
CMP AL,'Q'
JNE NO_QUIT
JMP END_D
NO_QUIT:
;
mov ah,09
mov dx ,offset s2 ;input month
int 21h
mov ah,0ah
mov dx,offset buff2
int 21h
mov bx,offset buff2+1
mov al,[bx]
cmp al,2 ;is 2 wei?
jl is1
mov ah,10
inc bx
inc bx
mov al,[bx]
sub al,30h
add ah,al
mov m1,ah ;save month (2wei)
jmp m_end
is1:
inc bx
mov al,[bx]
sub al,30h
mov m1,al ;save month (1wei)
m_end:
;
mov ah,09
mov dx ,offset s3 ;input day
int 21h
mov ah,0ah
mov dx,offset buff3
int 21h
mov bx,offset buff3+1
mov al,[bx]
cmp al,2 ;is 2 wei?
jl is1_1
inc bx
mov al,[bx]
sub al,30h
mov dl,10
mul dl
inc bx
mov ah,[bx]
sub ah,30h
add al,ah
mov d1,al ;save day (2wei)
jmp d_end
is1_1:
inc bx
mov al,[bx]
sub al,30h
mov D1,al ;save day (1wei)
d_end:
MOV AH,09
MOV DX,OFFSET CRLF
INT 21H
mov dx,offset xz
mov ax,0
mov al,m1
DEC AL
call pd ;根据日判断AL是否减1或加12(如果是1月)
mov bl,xz_long ;xz中每一个XINZHUO CHANG
MUL BL
add dx,ax
mov file_ptr,dx ;save position went write to file from string xz
moV ah,09
int 21h
;
;-------------------------
mov cx,2
mov dx,offset crlf ;CRLF write TO file
mov ah,40h ;write file
mov bx,handle
INT 21H
mov dx,offset buff1 ;NAME write TO file
call file_w
mov ah,40h ;write 5 BLANK
mov Dx,OFFSET KONG
mov CX,5
mov bx,handle
INT 21H
mov dx,offset buff2 ;MONTH write TO file
call file_w
mov ah,40h ;write "."
mov Dx,OFFSET DIAN
mov CX,1
mov bx,handle
INT 21H
mov dx,offset buff3 ;DAY write TO file
Call file_w
mov ah,40h ;write 5 BLANK
mov Dx,OFFSET KONG
mov CX,5
mov bx,handle
INT 21H
MOV CH,0
mov CL,xz_long-1
mov dx,file_ptr
mov ah,40h ;XZ write TO file
mov bx,handle
INT 21H
JMP START_1
END_D:
mov ah,3eh ;close file
mov bx,handle
INT 21H
ret
main endp
;-------------------------------
file_w proc near
mov ah,40h ;write file
mov bx,dx
inc bx
mov ch,0
mov cl,[bx]
add dx,2
mov bx,handle
INT 21H
ret
file_w endp
;-----------------------------------
;==============================
PD PROC NEAR ;根据输入的"月日"做判断子程序
; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23
MOV AH,M1
CMP AH,1
JE YUE_1
CMP AH,2
JE YUE_2
CMP AH,3
JE YUE_345
CMP AH,4
JE YUE_345
CMP AH,5
JE YUE_345
CMP AH,6
JE YUE_61112
CMP AH,11
JE YUE_61112
CMP AH,12
JE YUE_61112
CMP AH,7
JE YUE_78910
CMP AH,8
JE YUE_78910
CMP AH,9
JE YUE_78910
CMP AH,10
JE YUE_78910
; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23
YUE_1:
MOV AH,D1
CMP AH,20
JL ADD11
JMP RET_PD
ADD11:
ADD AL,11
JMP RET_PD
;
YUE_2:
MOV AH,D1
CMP AH,19
JL AL_DEC1
JMP RET_PD
YUE_345:
MOV AH,D1
CMP AH,21
JL AL_DEC1
JMP RET_PD
YUE_61112:
MOV AH,D1
CMP AH,22
JL AL_DEC1
JMP RET_PD
YUE_78910:
MOV AH,D1
CMP AH,23
JL AL_DEC1
JMP RET_PD
AL_DEC1:
DEC AL
RET_PD:
RET
PD ENDP
;==============================
code ends
end start
用Python做输入生日,判定星座及性格特点,星座符号,及匹配星座
很简单的其实
input一个用户输入变量
判定input是什么星座,也是if判定条件,
最后puint星座及性格特点,星座符号
用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-1972)%12 #对12取余
return shx[y] #从字典shx里依次取对应的生肖,如:1972即余数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 dated[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))))