鱼C论坛

 找回密码
 立即注册
查看: 2589|回复: 2

通过验证输入的每个字母,提前确定输入的是星期几

[复制链接]
发表于 2020-2-23 16:27:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 fangfeixiang 于 2020-2-23 16:29 编辑

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

我的思路是一周七天组成一个列表,输入第一个字母时去验证列表中每个元素的第一个字母,如果不同,就把这个单词从列表中删掉,当列表中只剩一个元素时,就打印出是这一天,但不知道为什么我在测试第一个字母时就不对


week = ['Monday','Tuesday','Wednesday','Thurday','Friday','Saturday','Sunday']
for i in range(10):    #用i来表示每个单词中每个字母的下标
    x = input("请输入第"+str(i+1)+"个字母:")    #x代表输入的字符
    for j in week:          #j表示列表中每个元素
        if x.lower() != j[i].lower():
            week.remove(j)     #如果第一个字母不相同,就把列表中的这个元素去掉
    print(week)  #验证完第一个字母后,列表中剩余的元素
    break


上边这代码只是为了验证输入第一个字母后看列表中还剩下哪几个元素,
结果,我输入t,结果是['Tuesday', 'Thurday', 'Saturday']里边还有个Saturday,
输个m,结果是['Monday', 'Wednesday', 'Friday', 'Sunday']。      实在想不明白原因
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-23 16:45:37 | 显示全部楼层
我看过别人的答案,是把这几天提前处理分了类,我的想法是不做提前处理,让它一个个去比对,不知道哪块有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 18:30:02 | 显示全部楼层
找到原因了,week.remove(j)会导致week元素的下标变化,j从week取值时却是按照0.1.2.3顺序取的,导致部分元素被跳过去,没被j取上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-22 18:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表