Python 很少有未知的测试用例失败-字符串操作

Python 很少有未知的测试用例失败-字符串操作,python,python-3.x,string,time,Python,Python 3.x,String,Time,下面的代码没有涵盖所有测试用例,并且一些用例失败在将时间转换为-小时AM/PM格式时,将其转换为军用(24小时)时间 样本输入: 07:05:45下午 样本输出: 19:05:45 所有时间输入均有效 #!/bin/python3 import os import sys def timeConversion(s): # # Write your code here. # #l = len(s) parts = s.split(':') pr

下面的代码没有涵盖所有测试用例,并且一些用例失败在将时间转换为-小时AM/PM格式时,将其转换为军用(24小时)时间

样本输入: 07:05:45下午

样本输出: 19:05:45

所有时间输入均有效

 #!/bin/python3

import os
import sys

def timeConversion(s):
    #
    # Write your code here.
    #
    #l = len(s)
    parts = s.split(':')
    print(parts)
    finder = parts[2][2:]
    print(finder)
    parts[2]=int(parts[2][:2])
    print(parts[2])
    tail = str(parts[2])
    print(tail)
    mil = int(parts[0])
#dn = finder(2,:)
    #print(finder)
    if finder == 'PM' and mil<12:
        mil_temp = mil+12
        military = str(mil_temp)
    elif finder == 'AM' and mil<12:
        mil_temp = mil
        military = str(mil_temp)
    elif finder =='AM' and mil==12:
        military = '00'
    elif finder =='PM' and mil==12:
        military = '12'
    fin = military+':'+parts[1]+':'+tail
    return(fin)
#/垃圾桶/蟒蛇3
导入操作系统
导入系统
def时间转换:
#
#在这里编写代码。
#
#l=len(s)
parts=s.split(“:”)
印刷品(部分)
finder=零件[2][2:]
打印(查找器)
部分[2]=int(部分[2][:2])
打印(零件[2])
tail=str(零件[2])
打印(尾部)
mil=int(部件[0])
#dn=查找器(2,:)
#打印(查找器)

如果finder='PM'和mil为什么不简单地使用内置的
datetime
模块,如下所示:

from datetime import datetime

input_str = "07:05:45PM"

try:
    output_str = datetime.strptime(input_str, "%I:%M:%S%p").strftime("%H:%M:%S")
except ValueError:
    output_str = None

print(output_str)
输出:


19:05:45

那些测试用例输入是什么?@abhiarora不幸的是,我不知道HackerRank隐藏了它们。所以,这对我来说就像一个谜,否则我会用有条件的支票或其他东西来掩盖它们。