如何在Python中移动小数点位置?

9 投票
4 回答
29417 浏览
提问于 2025-04-17 07:34

我现在正在用以下方法来计算两个时间之间的差。因为计算的结果非常快,所以我不需要显示小时和分钟,因为它们都是0.00。那我该怎么在Python中移动小数点呢?

def time_deltas(infile): 
    entries = (line.split() for line in open(INFILE, "r")) 
    ts = {}  
    for e in entries: 
        if " ".join(e[2:5]) == "OuchMsg out: [O]": 
            ts[e[8]] = e[0]    
        elif " ".join(e[2:5]) == "OuchMsg in: [A]":    
            in_ts, ref_id = e[0], e[7] 
            out_ts = ts.pop(ref_id, None) 
            yield (float(out_ts),ref_id[1:-1], "%.10f"%(float(in_ts) - float(out_ts)))

INFILE = 'C:/Users/kdalton/Documents/Minifile.txt'
print list(time_deltas(INFILE))

4 个回答

1

或者使用 datetime 模块

>>> import datetime
>>> a = datetime.datetime.strptime("30 Nov 11 0.00.00", "%d %b %y %H.%M.%S")
>>> b = datetime.datetime.strptime("2 Dec 11 0.00.00", "%d %b %y %H.%M.%S")
>>> a - b
datetime.timedelta(-2)
5

当然可以!请看下面的内容:

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续运行。

比如说,你可能希望程序在用户输入正确的密码后才能打开某个文件。这样,只有当用户提供了正确的信息,程序才会允许他们访问这个文件。

这种条件判断的过程就像是在问一个问题:“如果用户输入的密码是对的,那我就打开文件;如果不对,那就给出一个错误提示。”

通过这种方式,我们可以控制程序的行为,让它更加智能和安全。

希望这个解释能帮助你理解条件判断的基本概念!如果还有其他问题,随时可以问我。

def move_point(number, shift, base=10):
    """
    >>> move_point(1,2)
    100
    >>> move_point(1,-2)
    0.01
    >>> move_point(1,2,2)
    4
    >>> move_point(1,-2,2)
    0.25
    """
    return number * base**shift
23

就像你在数学里做的一样

a = 0.01;
a *= 10; // shifts decimal place right
a /= 10.; // shifts decimal place left

撰写回答