在Python中如何减去带有两位数的"变量[#]"?

0 投票
2 回答
1341 浏览
提问于 2025-04-16 15:32

我正在用Python写一个脚本,目的是计算用户输入的两个时间之间的间隔。比如说,我做了以下操作:

time = input("Enter times:")

用户输入了3和11,表示开始时间是3点,结束时间是11点。所以,时间就等于3和11。我想要计算这两个时间的差,结果应该是8小时。

我试着用下面的代码:

timesub= (int(time[3])-int(time[1])) 

但是它给我的结果是-2,因为time[3]的值是1。我该怎么做才能让它用11而不是1呢?

2 个回答

0

你可以使用 split 方法来把一个字符串分开,并把每个部分的值分别放到不同的变量里:

start, end = time.split(',')
timesub = int(end) - int(start)

如果你想让这个过程更酷一点,可以同时使用 int 函数,把分开的值转换成整数:

start, end = [int(t) for t in time.split(',')]
# or
start, end = map(int, time.split(','))

timesub = end - start
0

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶一样。

有些时候,我们会遇到一些问题,比如数据的格式不对,或者我们想要的数据没有被正确地获取到。这就像是你想喝水,但水桶里却有泥土,导致你喝不到干净的水。

为了避免这些问题,我们可以使用一些工具和方法来确保我们获取到的数据是正确的。这就像是用过滤器把水里的泥土过滤掉,确保你喝到的是干净的水。

总之,处理数据的过程需要小心谨慎,确保每一步都做得对,这样才能得到我们想要的结果。

time_input = raw_input("Enter times:")
time_parts = time.split(',')
time_diff = int(time_parts[1]) - int(time_parts[0])

撰写回答