题目:根据生日判断星座

需求:实现如下图所示结果

代码展示:

"""
Author:mll
Content:根据生日判断星座
Date:2020-11-23

"""
"""
白羊座:3月21日- 4月20日金牛座:4月21日- 5月21日
双子座:5月22日- 6月21日巨蟹座:6月22日- 7月22日
狮子座:7月23日- 8月23日处女座:8月24日- 9月23日
天秤座:9月24日- 10月23日天蝎座:10月24日- 11月22日
射手座:11月23日- 12月21日魔羯座:12月22日- 1月20日
水瓶座:1月21日- 2月19日双鱼座:2月20日- 3月20日
"""

# 定义一个函数进行判断用户输入的月份跟日期是什么星座
def judge(month, date):
if (month == 1 and 21 <= date <= 31) or (month == 2 and date <= 19):
print(str(month) + '月' + str(date) + '日星座为:水瓶座')
elif (month == 2 and 20 <= date <= 29) or (month == 3 and date <= 20):
print(str(month) + '月' + str(date) + '日星座为:双鱼座')
elif (month == 3 and 21 <= date <= 31) or (month == 4 and date <= 20):
print(str(month) + '月' + str(date) + '日星座为:白羊座')
elif (month == 4 and 21 <= date <= 30) or (month == 5 and date <= 21):
print(str(month) + '月' + str(date) + '日星座为:金牛座')
elif (month == 5 and 22 <= date <= 31) or (month == 6 and date <= 21):
print(str(month) + '月' + str(date) + '日星座为:双子座')
elif (month == 6 and 22 <= date <= 30) or (month == 7 and date <= 22):
print(str(month) + '月' + str(date) + '日星座为:巨蟹座')
elif (month == 7 and 23 <= date <= 31) or (month == 8 and date <= 23):
print(str(month) + '月' + str(date) + '日星座为:狮子座')
elif (month == 8 and 24 <= date <= 31) or (month == 9 and date <= 23):
print(str(month) + '月' + str(date) + '日星座为:处女座')
elif (month == 9 and 24 <= date <= 30) or (month == 10 and date <= 23):
print(str(month) + '月' + str(date) + '日星座为:天秤座')
elif (month == 10 and 24 <= date <= 31) or (month == 11 and date <= 22):
print(str(month) + '月' + str(date) + '日星座为:天蝎座')
elif (month == 11 and 23 <= date <= 30) or (month == 12 and date <= 21):
print(str(month) + '月' + str(date) + '日星座为:射手座')
elif (month == 12 and 22 <= date <= 31) or (month == 1 and date <= 20):
print(str(month) + '月' + str(date) + '日星座为:魔羯座')
else:
print('暂时没有符合您的星座, 请你回火星去~~~')

month_input = int(input('请输入月份(例如:5):')) # 用户输入月份
date_input = int(input('请输入日期:(例如:17):')) # 用户输入日期
judge(month_input, date_input) # 函数调用

 运行结果展示:


 总结:本实例需要考虑的是在if语句进行条件判断时,大月跟小月的边界值,写完代码后,作为专业测试人员应该多测些异常情况

 

python小题目练习(十)的更多相关文章

  1. python小题目练习(十二)

    题目:如下图所示 代码展示: """Author:mllContent:春节集五福Date:2020-01-17"""import rand ...

  2. python小题目练习(13)

    题目:封装用户的上网行为 实现代码: """Author:mllContent:封装用户的上网行为Date:2020-01-19"""def ...

  3. python小题目练习(五)

    题目:Python实现快速排序 代码实现: """Author:mllContent:Python实现快速排序Date:2020-11-05""&qu ...

  4. python小题目练习(四)

    题目:JAVA和Python实现冒泡排序 实现代码: # Java实现对数组中的数字进行冒泡排序scoreList = [98, 87, 89, 90, 69, 50]temp = 0for i in ...

  5. python小题目练习(二)

    题目:输出1-100之间不包括7的倍数,含有7的数的其他数 """Author:mllContent:输出1-100之间不包括7的倍数,含有7的数的其他数Date:202 ...

  6. python小题目汇总

    1.编程计算两个日期之间的天数与周数 Python时间处理---dateutil模块: dateutil模块主要有两个函数,parser和rrule. 其中parser是根据字符串解析成datetim ...

  7. python小题目练习(一)

    题目:输出1+2+3+4+5+--+100的总数,并打印出这行式子 代码展示:# 1.定义一个初识变量total,用于后面每次循环进行累加值 total = 0# 2.利用for循环遍历累加for i ...

  8. python小题目练习(十一)

    题目:大乐透号码生成器 需求:使用Random模块模拟大乐透号码生成器,选号规则为:前区在1 ~ 35的范围内随机产生不重复 的5个号码,后区在1~ 12的范围内随机产生不重复的2个号码.效果如图8. ...

  9. python小题目练习(九)

    题目:将美元转化为人民币 需求:实现如图所示需求  代码展示: """Author:mllContent:将美元转化为人民币Date:2020-11-23"&q ...

随机推荐

  1. linux 文件系统损坏修复

    系统突然掉电,导致重启后文件系统损坏,由于是测试服务器,长时间没关注,磁盘还满了.CRT登录rz文件时候发现报错,然后重启时候linux报错 /dev/VolGroup00/LogVo100: UNE ...

  2. Dom基础(三):事件冒泡,事件委托(事件代理)和事件捕获

    javascript中的addEventListener(事件名,回调,布尔) 其中第三个参数默认为false-事件冒泡,true为事件捕获 二者区别: 事件冒泡:目标元素事件先触发,然后父元素事件触 ...

  3. JDK内置锁深入探究

    一.序言 本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁. 锁有多种分类形式,比如公平锁与非公平锁.可重入锁与非重入锁.独享锁与共享锁.乐观锁与悲观锁.互斥锁与读写锁.自旋锁.分段锁和偏向锁/轻 ...

  4. 02. 树莓派初始配置——安装rz命令

    安装rz命令 如果你的ssh工具不带xftp文件上传功能,则需要安装使用ZMODEM协议的rz.sz命令. 1. 用root权限登录 2. 创建下载的目录地址(不创建也行,创建后方便以后文件管理) m ...

  5. XCTF练习题---MISC---hit-the-core

    XCTF练习题---MISC---hit-the-core flag:ALEXCTF{K33P_7H3_g00D_w0rk_up} 解题步骤: 1.观察题目,下载附件,发现是一个.core文件 2.打 ...

  6. 论文解读(SUBG-CON)《Sub-graph Contrast for Scalable Self-Supervised Graph Representation Learning》

    论文信息 论文标题:Sub-graph Contrast for Scalable Self-Supervised Graph Representation Learning论文作者:Yizhu Ji ...

  7. Linux-文件查找-打包压缩-tar

    1.文件查找工具locate,find 1.1  locate locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 索引的构建是在系统较为空闲时自动进 ...

  8. 实战 | 一文带你读懂Nginx反向代理

    一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...

  9. 为什么vue中的v-bind用在class属性上有点怪?

    如图所见,普通的标签属性我们直接使用 :属性名=`props的值` 就可以了.为什么用到class里要加[ ] 这个???

  10. Linux的快捷使用(不断更新中)

    Linux 命令行提示符 ~代表当前目录,即家目录,#是超级用户提示符,如果是普通用户使用$ 基本快捷键的使用 移动光标命令 Ctrl+A:移动光标到开头 Ctrl+E:移动光标到结尾 Ctrl+F: ...