Pyschools Тема 3 Q 9 - PullRequest
       0

Pyschools Тема 3 Q 9

0 голосов
/ 13 марта 2012

Я новичок в программировании, и я пробовал этот вопрос на Pyschools.

Кто-нибудь может мне помочь?

Напишите функцию, которая преобразует время в 24-часовой формат.Примеры

>>> time24hr('12:34am')
'0034hr'
>>> time24hr('12:15pm')
'1215hr'

Этот вопрос находится под условным условием.

Ответы [ 6 ]

4 голосов
/ 13 марта 2012
  1. Удалите «am» или «pm» из конца и сохраните его где-нибудь
  2. Разделите на «:», чтобы у вас были часы и минуты отдельно
  3. Есливремя «am», выведите час, если только «12», в этом случае выведите «00»
  4. В противном случае (если время «pm»), выведите час + 12, если только не «час»это «12», в этом случае выведите «12»
  5. Печать минут
0 голосов
/ 21 октября 2018

Для меня это работает (но не слишком красиво: 'C):

def time24hr(tstr):
  a=list(tstr)
  if len(a)==6:
    a.insert(0,'0')
  if a[5]=='a' and a[0]=='1' and a[1]=='2':
    del a[2]
    del a[4:6]
    a.append('h')
    a.append('r')
    a[0]='0'
    a[1]='0'
    w=''.join(a)
    return w
  elif a[5]=='p':
    del a[2]
    del a[4:6]
    a.append('h')
    a.append('r')
    x=a[0]+a[1]
    print x
    y=int(x)
    print y
    if y<12:
      z=y+12
      g=str(z)
      a[0:2]=g
      w=''.join(a)
      return w
    else:
      w=''.join(a)
      return w
  else:
    del a[2]
    del a[4:6]
    a.append('h')
    a.append('r')
    w=''.join(a)
    return w
0 голосов
/ 04 декабря 2016
def time24hr(tstr):
    newTime = ""
    if "am" in tstr:
        for i in tstr:
            if i not in ":am":
                newTime += i
        if "12" in newTime[:2]:
            newTime = newTime.replace("12", "00")
            return newTime + "hr"
        elif len(newTime) == 3:
            newTime = "0" + newTime + "hr"
            return newTime
    elif "pm" in tstr:
        for i in tstr:
            if i not in "pm":
                newTime += i
        if "10" in newTime[:2]:
            newTime = newTime.replace("10", "22")
            newTime = newTime.replace(":", "")
        elif "11" in newTime[:2]:
            newTime = newTime.replace("11", "23")
            newTime = newTime.replace(":", "")
        elif "12" in newTime[:2]:
            newTime = newTime.replace(":", "")
        elif "1" in newTime[:1]:
            newTime = newTime.replace("1", "13")
            newTime = newTime.replace(":", "")
        elif "2" in newTime[:1]:
            newTime = newTime.replace("2", "14")
            newTime = newTime.replace(":", "")
        elif "3" in newTime[:1]:
            newTime = newTime.replace("3", "15")
            newTime = newTime.replace(":", "")
        elif "4" in newTime[:1]:
            newTime = newTime.replace("4", "16")
            newTime = newTime.replace(":", "")
        elif "5" in newTime[:1]:
            newTime = newTime.replace("5", "17")
            newTime = newTime.replace(":", "")
        elif "6" in newTime[:1]:
            newTime = newTime.replace("6", "18")
            newTime = newTime.replace(":", "")
        elif "7" in newTime[:1]:
            newTime = newTime.replace("7", "19")
            newTime = newTime.replace(":", "")
        elif "8" in newTime[:1]:
            newTime = newTime.replace("8", "20")
            newTime = newTime.replace(":", "")
        elif "9" in newTime[:1]:
            newTime = newTime.replace("9", "21")
            newTime = newTime.replace(":", "")
        return newTime + "hr"
0 голосов
/ 08 июня 2015
def time24hr(tstr):
    time_list = tstr[:-2].split(':')
    time_int = [int(x) for x in time_list]
    am_pm = tstr[-2:]
    hours = time_int[0]
    minutes = time_int[1]
    if am_pm == 'am':
        if hours < 12:
            hours = hours + 12          
            return "%02d%02dhr" % (hours,minutes)
        else:
            return "00%2dhr" % (minutes)        
    else:
        if hours < 12:
            hours = hours + 12
            return "%02d%02dhr" % (hours,minutes)
        else:
            return "%02d%02dhr" % (hours,minutes)
0 голосов
/ 13 июля 2013
def time24hr(tstr): 
  a = tstr
  b = int(a[:2])+12
  if a[-2:] =='am' and a[:2]=='12':
      return '\'00'+a[3:-2]+'hr\''
  elif a[-2:]=='pm' and a[:2]=='12':
      return '\'12'+a[3:-2]+'hr\''
  else:
      if a[-2:] =='pm':
          return  "\'"+str(b)+a[3:-2]+'hr\''
      else:
        return "'"+a[:2]+a[3:-2]+'hr\''

print time24hr('12:15pm')
# '1215hr'
print  time24hr('12:15pm')
print time24hr('12:34am')
# '0034hr'
print time24hr('08:34am')
# '0834hr'
print time24hr('08:34pm')
'2034hr'
0 голосов
/ 09 августа 2012
def time24hr(tstr):
    time=tstr.replace(':','')
    if 'am' in time:
        tim=int(time.replace('am',''))
    elif 'pm' in time:
        tim=int(time.replace('pm',''))
    mini=tim%100
    hour=tim//100 
    if mini<10:
        mini='0'+str(mini)
    else:
        mini=str(mini)
    if 'am' in time:
        if hour<10:
            hour='0'+str(hour)
        elif hour==12:
            hour='0'+str(hour-12)
            time1=time.replace('am','')
            time1=str(hour)+str(mini)+'hr'
    elif 'pm' in time:
        if hour<12:
            hour=12+hour
        elif hour==12:
            hour=hour
    time1=time.replace('pm','')
    time1=str(hour)+str(mini)+'hr'
    return time1
...