午夜时间程序错误

时间:2018-02-19 00:23:45

标签: python

hour = input("Enter the hour: ")
minute = input("Enter the minute: ")
second = input("Enter the second: ")
time = str("hour:minute:second")
#
def time_since_midnight(time):
    s = time.split(":")
    seconds = int(s[0]) * 60 * 60 + int(s[1]) * 60 + int(s[2])
    return seconds;
#
print(time_since_midnight(time))

它不起作用......我想计算自午夜以来的时间 在几秒钟内

edit)ValueError:基数为10的int()的文字无效:'小时'

我收到此错误消息,我无法找到哪个部分是错误的

2 个答案:

答案 0 :(得分:1)

time = "%s:%s:%d" % (hour, minute, second)

但我同意其他人的意见,你应该更准确地回答你的问题,展示一个不起作用的最小例子,预期和实际结果是什么。

尝试通过编写单元测试来调试这样的简单代码,或者甚至只是简单地打印单个变量的值来仔细检查你对某些行正在做什么的假设。

答案 1 :(得分:0)

你的时间构造是一个常量字符串。现在,您的时间变量的值将始终为"小时:分钟:秒"无论你输入什么价值。如果在定义函数之前将以下代码插入脚本中,您将看到问题所在:

hour = input("Enter the hour: ")
minute = input("Enter the minute: ")
second = input("Enter the second: ")
time = str("hour:minute:second")
print time

您需要将其更改为:

时间= str(小时)+":" + str(分钟)+":" + str(第二个)