CodingNoStop 2021-03-02 13:23 采纳率: 40%
浏览 75
已采纳

求求了,一个小bug硬是找不出来

题目链接在这里:https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560

这是我写的代码

text1,text2,text3,text4=input(),input(),input(),input()
alp=['A','B','C','D','E','F','G']
alp3=['A','B','C','D','E','F','G','H','I','J','K','L','M','N']
day=['MON','TUE','WED','THU','FRI','SAT','SUN']
time=['10','11','12','13','14','15','16','17','18','19','20','21','22','23']
num=['0','1','2','3','4','5','6','7','8','9']
numa,numb,numc=0,0,0
DAY='0'
for p in range(len(text1)):
    if text1[p]==text2[p]:
        if DAY=='0' and numb==0:
            if text1[p] in alp:
                DAY=day[alp.index(text1[p])]
                numb=1
        else:
          if numc==0:
            if text1[p] in alp3:
                HH=time[alp3.index(text1[p])]
                numc=1
            elif text1[p] in num:
                HH='0'+str(text1[p])
                numc=1
for p in range(len(text3)):
    if numa==0:
     if text3[p]==text4[p]:
        if text3[p].isalpha(): 
            if p<10:
                MM='0'+str(p)
                numa=1
            else:
                MM=str(p)
                numa=1
print(DAY+' '+HH+':'+MM)
            

然后运行结果:这个测试结果,测试点1,4有问题(归零错误是代码语法有问题运行有错误。)我在网上搜测试点1,4的关键点是小时与秒要保持双位数(例如01:04),但我这个代码考虑了这个,我自己用相关例子测试,也是没问题。

网上的题目解析在这里:https://www.cnblogs.com/SCP-514/p/13222551.html

  • 写回答

1条回答 默认 最新

  • 爱晚乏客游 2021-03-02 14:04
    关注

    你有没有考虑到如果text1和text2的长度关系?如果len(text1)>len(text2),你的第10行text2[p]数组越界不就是非零返回吗。同样道理,text3和text4也会有这个问题的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b