【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. Linux多任务编程之一:任务、进程、线程(转)

    来源:CSDN  作者:王文松  转自:Linux公社 Linux下多任务介绍 首先,先简单的介绍一下什么叫多任务系统?任务.进程.线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者 ...

  2. 关于小白一天摆弄Axure产品原型的心得

    因为项目所需,被迫快速设计产品原型,制作app使用视频,这里简单分享一些一个小白第一次触碰产品原型设计的一些心得: 原型设计工具的选用 我这里针对的是贫穷学生党,分享的是自己尝试的几款.有钱大佬自行绕 ...

  3. 蜂鸟E203系列——Linux下运行hello world例程

    欲观原文,请君移步 创建程序 在 -/hbird-e-sdk-master/software 路径下创建一个"helloworld"中文件夹 在 -/hbird-e-sdk-mas ...

  4. Django之ORM查询操作详解

    浏览目录 一般操作 ForeignKey操作 ManyToManyField 聚合查询 分组查询 F查询和Q查询 事务 Django终端打印SQL语句 在Python脚本中调用Django环境 其他操 ...

  5. CRM【第一篇】: 权限组件之权限控制

    1. 问:为什么程序需要权限控制? 答:生活中的权限限制,① 看灾难片电影<2012>中富人和权贵有权登上诺亚方舟,穷苦老百姓只有等着灾难的来临:② 屌丝们,有没有想过为什么那些长得漂亮身 ...

  6. Illegal instant due to time zone offset transition (Asia/Shanghai)_夏令时问题

    项目报错信息: Connot parse "1991-04-14",illegal instant due to time zone offset transition(Asia/ ...

  7. Database Identifiers - SID

    These options include your global database name and system identifier (SID). The SID is a unique ide ...

  8. HashMap源码实现分析

    HashMap源码实现分析 一.前言 HashMap 顾名思义,就是用hash表的原理实现的Map接口容器对象,那什么又是hash表呢. 我们对数组都很熟悉,数组是一个占用连续内存的数据结构,学过C的 ...

  9. 【requests库】七个主要方法

    本文主要介绍requests库访问http的七个主要方法:get.head.post.put.patch.delete. requests.get()方法 get方法用于获取指定url的HTML网页, ...

  10. tomcat 认证爆破之custom iterator使用

    众所周知,BurpSuite是渗透测试最基本的工具,也可是神器,该神器有非常之多的模块:反正,每次翻看大佬们使用其的骚操作感到惊叹,这次我用其爆破模块的迭代器模式来练练手[不喜勿喷] 借助vulhub ...