Aplicación Python-dictionary

Descripción del problema
  Dada la hora actual, léala en inglés.
  El tiempo se expresa en horas h y minutos M. En la lectura en inglés, la forma de leer una hora es:
  si m es 0, luego lea la hora, luego agregue "en punto", como 3:00 lea "tres" en punto ".
  Si m no es 0, lea el tiempo y luego lea los puntos, como 5:30, lea "cinco y media".
  Las horas y minutos se pronuncian en números ingleses, 0-20 se pronuncia como:
  0: cero, 1: uno, 2: dos, 3: tres, 4: cuatro, 5: cinco, 6: seis, 7: siete, 8: ocho, 9: nueve, 10: diez, 11: once, 12: doce, 13: trece, 14: catorce, 15: quince, 16: dieciseis, 17: diecisiete, 18: dieciocho, 19: diecinueve, veinte y veinte.
  30 se pronuncia treinta, 40 es cuarenta y 50 es cincuenta.
  Para números mayores que 20 y menores que 60, primero lea los diez completos, luego agregue los dígitos individuales. Por ejemplo, 31 lee primero 30 y luego agrega 1, que se lee como "treinta y uno".
  De acuerdo con la regla anterior, 21:54 dice "veintiuno cincuenta y cuatro", 9:07 dice "nueve siete" y 0:15 dice "cero quince".
Formato de
  entrada La entrada contiene dos enteros no negativos h y m, que representan las horas y minutos de tiempo. Los números distintos de cero no tienen ceros a la izquierda. h es menor que 24, m es menor que 60.
Formato de
  salida Hora y hora de salida en inglés.
Entrada de muestra
0 15
Salida de muestra
cero quince

Implementación de código:

# 键:值    访问只能字典名[键],没有索引,不能切片操作

dit={0:"zero", 1: "one", 2:"two", 3:"three", 4:"four", 5:"five",
     6:"six", 7:"seven", 8:"eight", 9:"nine", 10:"ten", 11:"eleven", 12:"twelve",
     13:"thirteen", 14:"fourteen", 15:"fifteen", 16:"sixteen", 17:"seventeen",
     18:"eighteen", 19:"nineteen", 20:"twenty",30:"thirty",40:"forty",50:"fifty"}


h,m=map(int,input().split())

if h<=20:
    if m==0:
        print(dit[h],"o'clock")
    elif m<=20:
        print(dit[h],dit[m])
    else:
        print(dit[h],dit[m//10*10],dit[m%10])
else:
    if m==0:
        print(dit[h//10*10],dit[h%10],"o'clock")
    elif m<=20:
        print(dit[h//10*10],dit[h%10],dit[m])
    else:
        print(dit[h//10*10],dit[h%10],dit[m//10*10],dit[m%10])

Publicado 15 artículos originales · elogiado 6 · visitas 38

Supongo que te gusta

Origin blog.csdn.net/weixin_46165788/article/details/105523735
Recomendado
Clasificación