if month<1 or month>12:
print "month must in 1-12"
if day<1 or day>31:
print "day must in 1-31"
运行一下程序:
发现一个问题:月份判断没有问题,但是日期判断有问题,因为日期并不是每个月都是31天,根据月份不同,日期可能有30天或者31天,或者28天,如何检查呢
判断修改如下:
if month<1 or month>12:
print "month must in 1-12"
else:
if month==2:
if day<1 or day>28:
print "day must in 1-28"
elif month==4 or month==6 or month==9 or month==11:
if day<1 or day>30:
print "day must in 1-30"
else:
if day<1 or day>31:
print "day must in 1-31"
星座如何判断
输入处理好了,接下来要如何进行判断呢?
首先是要知道12个星座对应的日期分别是什么:
从这个表格里面,可以分析出一个规律来:在一个月里面,最多只可能有2种星座
例如,1月份,如果小于等于19日,则是摩羯座,否则就是水瓶座
例如,2月份,如果小于等于18日,则是水瓶座,否则就是双鱼座
以此类推,此规则具有一致性,因此,判断代码如下:
if month==1:
if day<=19:
xingzuo="mojie"
else:
xingzuo="shuiping"
elif month==2:
if day<=18:
xingzuo="shuiping"
else:
xingzuo="shuangyu"
......
最后将星座增加到输出中
print "month:",month,"day:",day,"xingzuo:",xingzuo
完整的程序
执行结果如下: