因此,对于课程作业,教师希望我们创建一个类似于时钟的程序。您输入您开始的时间并输入您离开的时间,程序会计算出该人获得的报酬。但是,程序必须采用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
),程序以语法错误响应,并且它是一个无效的令牌。
有没有办法解决这个问题?
答案 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