如何指定Python中input()的类型?

3 投票
2 回答
43250 浏览
提问于 2025-04-15 17:23

有没有办法定义输入的时间,比如时间、日期、货币,或者这些需要手动验证?比如说:

morning = input('Enter morning Time:')
evening = input('Enter evening Time:')

.. 我这里只需要时间,怎么确保用户输入的是xx:xx格式,其中xx只能是整数。

2 个回答

1

你不能强迫 input 函数返回特定类型的数据。最好的办法是写一个包装函数,先从用户那里读取输入,然后把它转换成你应用程序需要的合适类型(如果出错的话,就抛出一个异常)。

另外,正如 Alex 所说,使用 raw_input 来获取用户输入会更好,因为它总是把输入的内容当作字符串返回。这样处理起来更简单。

10

input(在Python 2.x中)会返回用户输入的任何表达式的类型。更好的做法是使用raw_input,它会返回一个字符串,然后你可以自己进行转换,如果转换失败了,可以捕捉到TypeError错误。

在Python 3.x中,input的功能就像2.x中的raw_input,也就是说,它会返回一个字符串。

撰写回答