Python作业,求大佬回答

 我来答
自我编程
2020-03-08 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

题目的提示代码,写复杂了而且没有验证。我不完全按提示写(题目也说了只是参考)。

这里输入验证用正则表达式,时分秒的数字都有大小范围,且格式按中文时分秒分割。

用search函数对输入字符串匹配正则表达式,只要找出满足规则的部分(这样即使输入包含其它无关内容也能被筛选)。

而最后拆分字符串,不需要像题目那些一个一个找索引,直接使用re下的split函数按时分秒分割即可一次性获得数字。

import re

while True:

    time=input('请输入时间(格式为##时##分##秒):\n')

    timeRegex=re.compile(r'[0-23]\d时[0-59]\d分[0-59]\d秒')

    mo=timeRegex.search(time)

    if(mo==None):

        print('输入内容不符合要求,请重新输入!\n')

        continue

    time=mo.group() #到这一步为止,time获取到有效的输入,前面都是验证,不需要可改成直接输入

    print(time)

    i=re.split('时|分|秒',time)

    print(i[0]+':'+i[1]+':'+i[2]+'\n')

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式