初学python算法100例-案例30 输入星期几的第一个字母判断是星期几

Posted CSDN专家-小兔子编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学python算法100例-案例30 输入星期几的第一个字母判断是星期几相关的知识,希望对你有一定的参考价值。

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

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

程序分析

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  re

def 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)

运行结果:

请输入第一个字母:m
Monday


请输入第一个字母:w
Wednesday


请输入第一个字母:s

请输入第二个字母:u
Sunday

 

解法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])

运行结果:

请输入首字母:m
Monday

请输入首字母:f
Friday

请输入首字母:s

请输入第二个字母:u
Sunday

 

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

以上是关于初学python算法100例-案例30 输入星期几的第一个字母判断是星期几的主要内容,如果未能解决你的问题,请参考以下文章

初学python算法100例-案例28 逆序输出每位数字

初学python算法100例-案例28 逆序输出每位数字

初学python算法100例-案例23 输出菱形

初学python算法100例-案例25 阶层求和 学完你也会

初学python算法100例-案例26 反序输出 并没有那么难

初学python算法100例-案例22 居中输出三角形