python 的格式化输入
自己用python写了一个倒计时脚本(linux平台),现在不知如何实现如下格式的输入:屏幕上打印出:pleaseinputtime:__:__:__下划线的部分是要求用...
自己用python写了一个倒计时脚本(linux平台),现在不知如何实现如下格式的输入:
屏幕上打印出:
please input time : _ _ : _ _ :_ _
下划线的部分是要求用户输入的,冒号是屏幕打印的,然后把三个要求输入的地方的值分别传递给参数hours,minutes和seconds 展开
屏幕上打印出:
please input time : _ _ : _ _ :_ _
下划线的部分是要求用户输入的,冒号是屏幕打印的,然后把三个要求输入的地方的值分别传递给参数hours,minutes和seconds 展开
2个回答
展开全部
import re
def getInput(prompt, valid=None, convertor=None):
""" 打印提示, 从控制台输入并败信息;
(若提供验证方法则要求输入直到碧碧验证绝慧颤成功),
(若提供转换方法则返回转换后的数据)
"""
n = raw_input(prompt)
while valid and not valid(n):
n = raw_input(prompt)
return n if not convertor else convertor(n)
tmpatt = re.compile(r'''
(?P<hours>\d\d):
(?P<minutes>\d\d):
(?P<secons>\d\d)
''', re.I|re.X|re.U)
def str2timetuple(s):
""" 将符合时间格式的字符串转化为(hours, minutes, secods)元组 """
dt = tm.match(s).groupdict()
return map(lambda item: int(dt.get(item)),
['hours', 'minutes', 'secons'])
tmtuple = getInput("please input time: (HH:MM:SS) ",
valid=lambda s: tmpatt.match(s),
convertor=str2timetuple
)
def getInput(prompt, valid=None, convertor=None):
""" 打印提示, 从控制台输入并败信息;
(若提供验证方法则要求输入直到碧碧验证绝慧颤成功),
(若提供转换方法则返回转换后的数据)
"""
n = raw_input(prompt)
while valid and not valid(n):
n = raw_input(prompt)
return n if not convertor else convertor(n)
tmpatt = re.compile(r'''
(?P<hours>\d\d):
(?P<minutes>\d\d):
(?P<secons>\d\d)
''', re.I|re.X|re.U)
def str2timetuple(s):
""" 将符合时间格式的字符串转化为(hours, minutes, secods)元组 """
dt = tm.match(s).groupdict()
return map(lambda item: int(dt.get(item)),
['hours', 'minutes', 'secons'])
tmtuple = getInput("please input time: (HH:MM:SS) ",
valid=lambda s: tmpatt.match(s),
convertor=str2timetuple
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询