我在树莓派终端遇到了一个问题。
>>> alarm = input('Please input the time for the alarm in format HHMM: \n ')
>>> print(alarm)
我输入 0700,按回车键,但它打印出 448 而不是 0700。 当我在 IDLE 中尝试它时,它输出 0700。为什么它不会在 raspberry pi 终端中输出 0700?我怎样才能让终端发出 0700?
请您参考如下方法:
input() 函数会将您的输入转换为字符串。
0070 被认为是一个八进制数。它先转换为十进制数,然后再转换为字符串。
print str(0070)
>>> 56
import time
alarm = str(raw_input('Please input the time for the alarm in format HHMM: \n '))
print alarm
>>> Input: 0080
>>> Output: 0080
您应该验证用户输入的时间。例如,您不应允许用户输入类似 4012 的时间。 您可以使用 datetime 模块验证时间,如下所示:
import datetime
try:
a = datetime.datetime.strptime(raw_input('specify time in HHMM format: '), "%H%M")
print a.strftime("%H%M")
except:
print "Please enter correct time in HHMM format"
使用日期时间对象还有其他优点。您可以根据自己的时间执行各种操作。例如。向其中添加时间,从中减去时间,将其转换为各种格式等。 阅读此内容以获取更多信息:https://docs.python.org/2/library/datetime.html
