Python 3.4.1如何从01中获得1

时间:2014-11-29 22:27:08

标签: python python-3.x

因此,对于课程作业,教师希望我们创建一个类似于时钟的程序。您输入您开始的时间并输入您离开的时间,程序会计算出该人获得的报酬。但是,程序必须采用24小时格式,例如,如果您想在下午2点输入。你需要输入14:00。有了这个逻辑,如果你要工作到凌晨,例如01:00,该怎么办?我让程序提示用户时间如下:

start = input("Enter the start time:")
end = input("Enter the end time:)

然后我使用start.split(":")end.split(":")创建一个由":"分隔的列表,之后我使用eval()来获取整数,但每当我尝试输入一个整数时在它前面有一个0(例如01),程序以语法错误响应,并且它是一个无效的令牌。

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:4)

请勿使用eval()。使用int() function来解析表示整数的字符串。

您可以安全地将零填充数字传递到int(); int('01')返回1:

>>> int('01')
1
>>> int('12')
12

答案 1 :(得分:1)

还有另一种方法可以剥离值。 您可以使用str.startswith功能

start = input("Enter the start time:")
end = input("Enter the end time:")

if (str.startswith(start,"0")):
    print(start[1:])

输出:

Enter the start time:01:00
Enter the end time:02:00
1:00