蓝桥杯基础练习VIP-报时助手

本文介绍如何根据编程规则将给定的小时和分钟转换成英文读法,适合时间表示和格式化问题的学习者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 题目描述

给定当前的时间,请用英文的读法将它读出来。

时间用时h和分m表示,在英文的读法中,读一个时间的方法是:

如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three  o'clock”。

如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five  thirty”。

时和分的读法使用的是英文数字的读法,其中0~20读作:

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。

对于大于20小于60的数字,首先读整十的数,然后再加上个位数。如31首先读30再加1的读法,读作“thirty  one”。

按上面的规则21:54读作“twenty  one  fifty  four”,9:07读作“nine  seven”,0:15读作“zero  fifteen”。

输入

输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。 

输出

输出时间时刻的英文。 

样例输入复制

0 15 

样例输出复制

zero fifteen
Time={'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'}
a,b=map(int,input().split())
if b==0:
    if a<=20:
        print(Time[str(a)] + " o'clock")
    if a > 20:
        c=a-a%10
        print(Time[str(c)] + ' ' + Time[str(a%10)] + " o'clock")
else:
    if b <= 20:
        if a<=20:
            print(Time[str(a)] + ' ' + Time[str(b)])
        if a > 20:
            c=a-a%10
            print(Time[str(c)] + ' ' + Time[str(a%10)] + ' ' + Time[str(b)])
    else:
        if a<=20:
            if b%10==0:
                print(Time[str(a)] + ' ' + Time[str(b)])
            else:
                c = b - b%10
                print(Time[str(a)] + ' ' + Time[str(c)] + ' ' + Time[str(b%10)])
        if a > 20:
            d = a-a%10
            if b%10==0:
                print(Time[str(d)] + ' ' + Time[str(a%10)] + ' ' + Time[str(b)])
            else:
                c = b - b%10
                print(Time[str(d)] + ' ' + Time[str(a%10)] + ' ' + Time[str(c)] + ' ' + Time[str(b%10)])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值