【Python 实例】面向对象 | 请输入一周中某天的名称的第一个字母来判断以下是星期几,如果第一个字母一样则继续判断第二个字母

题目:

请输入一周中某天的名称的第一个字母来判断以下是星期几,如果第一个字母一样则继续判断第二个字母

解答:

 """
请输入一周中某天的名称的第一个字母来判断以下是星期几,
如果第一个字母一样则继续判断第二个字母
"""
class Date:
def __init__(self,zi_mu):
self.zi_mu = zi_mu # 初始化属性 zi_mu
self.di_yi = ["M","T","W","T","F","S","S"] # 第一个字母
self.di_er = ["o","u","e","h","r","a","u"] # 第二个字母
self.quan = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
"""三个列表组成矩阵,根据下标定位需查询的元素""" def cha_xun_1(self): # 第一次查询
ji_suan_xia_biao = 0 # 可忽略
da_xie = self.zi_mu.upper() # 将输入的字符串中的小写字母转换为大写字母
ci_shu = self.di_yi.count(da_xie) # 统计该字符串在列表 self.di_yi 出现的次数
if ci_shu == 1: # 根据出现的次数判断是否进行二次查询,元素出现次数等于一,停止查询
xia_biao = self.di_yi.index(da_xie) # 获取元素的下标(索引值)
print("查询结果:",self.quan[xia_biao]) # 根据下标定位需查询的元素
elif ci_shu > 1: # 根据出现的次数判断是否进行二次查询,元素出现次数大于一,进行第二次查询
print("满足查询条件的有 %d 个:" % (ci_shu))
for x in self.di_yi: # 可忽略
ji_suan_xia_biao += 1 # 可忽略
if da_xie == x: # 可忽略
print(self.quan[ji_suan_xia_biao-1]) # 可忽略
print("进行第二次查询")
self.cha_xun_2() # 调用方法 cha_xun_2()
else:
print("无法判断") def cha_xun_2(self): # 第二次查询
self.zi_mu = input("请输入第二个字母:") # 补充查询条件
xia_biao = self.di_er.index(self.zi_mu) # 获取元素的下标(索引值)
print("查询结果:",self.quan[xia_biao]) # 根据下标定位需查询的元素 shu_ru = input("请输入第一个字母:")
day=Date(shu_ru) # 实例化类
day.cha_xun_1() # 调用类方法

运行结果:

D:***\python3.exe D:***/10-8-课后练习-日期字母判断.py
请输入第一个字母:t
满足查询条件的有 2 个:
Tuesday
Thursday
进行第二次查询
请输入第二个字母:h
查询结果: Thursday 进程完成,退出码 0
D:***\python3.exe D:***/10-8-课后练习-日期字母判断.py
请输入第一个字母:f
查询结果: Friday 进程完成,退出码 0

  

【Python 实例】面向对象 | 请输入一周中某天的名称的第一个字母来判断以下是星期几,如果第一个字母一样则继续判断第二个字母的更多相关文章

  1. Java例题_26 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

    1 /*26 [程序 26 求星期] 2 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 3 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情 ...

  2. 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”

    请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母.例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”.星期的英文单词如下表所示. 星期 ...

  3. Python实例教程

    转自:http://codingdict.com/article/9026 Python 100例-01 题目: 输有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数? Python 1 ...

  4. 【Python 实例】回文数判断

    [Python 实例]回文数判断 题目: 源代码: 运行结果: 题目: 判断输入的字符串是否为回文数 源代码: """ string_reverse_output():反 ...

  5. 【Python 实例】面向对象 | 按逗号分割列表

    [Python 实例]面向对象 | 按逗号分割列表 题目: 按逗号分割列表 应该得到如下结果: ["xx"],["xx"],["xx"] 解 ...

  6. 【Python 实例】面向对象 | 按相反的顺序输出列表的值

    [Python 实例]面向对象 | 按相反的顺序输出列表的值 题目: 解答: 运行结果: 题目: 按相反的顺序输出列表的值 解答: """ 按相反的顺序输出列表的值 &q ...

  7. 请输入一个大于7的整数,输出小于k并且至少满足下面2个条件中的1个条件的所有正整数

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 22:06 * @description ...

  8. python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie)

    python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie) 主要包括两部分内容:(1)利用python中的dict实现Trie:(2) ...

  9. 两种方法实现text输入框中“请输入关键字”的提醒

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. day77 vue对象提供的属性功能

    目录 一.过滤器 二.计算属性(computed) 三.侦听属性(watch) 四.vue对象的生命周期 五.阻止事件冒泡和刷新页面 六.综合案例-todolist 一.过滤器 定义:就是vue允许开 ...

  2. 微信小程序中的深拷贝与浅拷贝问题

    最近在弄小程序项目的时候遇到了一个json对象复制的问题,也就是俗称的深拷贝与浅拷贝了. 一般用变量直接接收就是浅拷贝,那么如何理解浅拷贝与深拷贝的意义呢? 浅拷贝:只是将对象地址的复制,并没有开辟新 ...

  3. RCNN论文阅读笔记

    一摘要: 两个主要工作:1将cnn和自上而下的区域提案结合进行定位和对象分割:2当训练数据稀缺时,先预训练然后微调. rccn工作分为四步:1输入一张图片 2用selective search算法对每 ...

  4. [Qt2D绘图]-06QPainter的复合模式&&双缓冲绘图&&绘图中的其他问题

    本篇读书笔记主要记录QPainter的复合模式&&双缓冲绘图&&绘图中的其他问题   大纲:     复合模式     双缓冲绘图     绘图中的其他问题       ...

  5. Oracle基础概述

    本部分主要参考”风哥“的Oracle入门视频. 一.体系结构概述 1.物理结构(文件结构) Oracle有四种文件:控制文件.数据文件.日志文件.参数文件 其中日志文件分为两类:联机日志文件.归档日志 ...

  6. Yandex企业邮箱申请教程

    注册账号 首先你需要有Yandex的账号,这里就不多说了. 注册企业邮箱 注册完账号并登录后打开:https://connect.yandex.com/pdd/ 输入你的域名 来到验证界面,这里建议m ...

  7. 设计模式:abstract factory模式

    含义:抽象工厂将“抽象零件”组装成“抽象产品” 理解:相比于工厂方法模式,可以根据不同的接口创建不同的产品,说白了就是将一个接口变成两个接口,各自返回不同的抽象产品 例子: class Car //抽 ...

  8. Linux内存大页设置

    实际环境中,遇到3次由于内存大页设置参数不合理或者错误,导致系统内存不足,或者数据库内存不足的问题. 按照如下方式,推荐设置大页参考下发设置! 参考HugePages on Oracle Linux ...

  9. springboot(4)Druid作为项目数据源(添加监控)

    参考博客:恒宇少年:https://www.jianshu.com/p/e84e2709f383 Druid简介 Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目.Druid支持所有JD ...

  10. LQB20180航班时间(sscanf)

    首先找找规律,两者相加除以二. 按格式读入sscanf 按格式输出printf("02d%",m);前导0 #include <iostream> #include & ...