博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初学python100例-案例31 输入星期几的第一个字母判断是星期几 少儿编程案例讲解
阅读量:2035 次
发布时间:2019-04-28

本文共 2021 字,大约阅读时间需要 6 分钟。

题目:根据字母判断星期几

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

程序分析

1、星期有7个结果,分别是:星期一(Monday)、星期二(Tuesday)、星期三(Wednesday)、星期四(Thursday)、星期五(Friday)、星期六(Saturday)、星期日(Sunday)

2、第一个字母,我们可以看到这星期一到星期日,第一个字母相同的有 星期二和星期四,星期六和星期日

3、所以在判断第一个字母的时候这两组不能直接得出结果,需要进行第二个字母分析

 

解法1 常规思维

对输入的字母逐一进行匹配

源程序:

letter = input("请输入第一个字母:")letter = letter.upper()if letter == "M":    print("星期一(Monday)")elif letter == "W":    print("星期三(Wednesday)")elif letter == "F":    print("星期五(Friday)")elif letter == "T":    letter = input("请输入第二个字母:")    letter = letter.upper()    if letter == "U":        print("星期二(Tuesday)")    elif letter == "H":        print("星期四(Thursday)")    else:        print("输入有误!")elif letter == "S":    letter = input("请输入第二个字母:")    letter = letter.upper()    if letter == "A":        print("星期六(Saturday)")    elif letter == "U":        print("星期日(Sunday)")    else:        print("输入有误!")else:    print("输入有误!")

运行结果:

请输入第一个字母:M星期一(Monday)请输入第一个字母:W星期三(Wednesday)请输入第一个字母:F星期五(Friday)请输入第一个字母:m星期一(Monday)请输入第一个字母:S请输入第二个字母:A星期六(Saturday)请输入第一个字母:q输入有误!

 

解法2 列表

将每个星期写在列表里面,然后对输入的字母和列表进行匹配

源程序:

import  redef isweek(first,week):    li=[]    first = first.upper()    for a in week:        if re.match(first,a):            li.append(a)    if len(li)==1:        print(li[0])    else:        second=input('请输入第二个字母:')        for b in li:            if re.match(first+second,b):                print(b)week=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']first=input('请输入第一个字母:')isweek(first,list)

运行结果:

请输入第一个字母:mMonday请输入第一个字母:wWednesday请输入第一个字母:s请输入第二个字母:uSunday

 

解法3 字典

将首字母和对应的星期存入字典,然后通过对输入的字母进行键值对匹配

源程序:

weeklist = {'M': 'Monday','T': {'u': 'Tuesday','h':'Thursday'}, 'W': 'Wednesday', 'F':'Friday','S':{'a':'Saturday','u':'Sunday'}}sLetter1 = input("请输入首字母:")sLetter1 = sLetter1.upper()if (sLetter1 in ['T','S']):    sLetter2 = input("请输入第二个字母:")    print(weeklist[sLetter1][sLetter2])else:    print(weeklist[sLetter1])

运行结果:

请输入首字母:mMonday请输入首字母:fFriday请输入首字母:s请输入第二个字母:uSunday

 

还有更多的方法,欢迎大家留言一起探讨学习

转载地址:http://xrhaf.baihongyu.com/

你可能感兴趣的文章
构建高并发高可用的电商平台架构实践
查看>>
基于Zookeeper的服务注册与发现
查看>>
RabbitMQ Spring AMQP
查看>>
解析 filter+注解+HandlerMethodArgumentResolver 给控制器函数参数赋值
查看>>
jvm 堆内存分配
查看>>
ajax异步提交 页面请求
查看>>
服务器端判断request来自Ajax请求(异步)还是传统请求(同步)
查看>>
java接口不能声明为synchronized
查看>>
前端界面调试步骤
查看>>
JSP的CSS背景样式写法
查看>>
jsp页面中jstl标签详解 包括< c> <c> <c>
查看>>
jstl c:forEach 一行排三个图片然后自动换行
查看>>
java中的BigDecimal和String的相互转换
查看>>
hadoop、storm和spark的区别、比较
查看>>
Tomcat调优总结
查看>>
hibernate hql 同时更新多个字段
查看>>
oracle键、索引、约束及其区别
查看>>
解决activemq多消费者并发处理
查看>>
网络通信分享(一):数字签名,数字证书,https通信,数据加密
查看>>
关于Class.getResource和ClassLoader.getResource的路径问题
查看>>