代码之家  ›  专栏  ›  技术社区  ›  diamondog

在python中获取程序上奇怪的额外数字以倒计时

  •  0
  • diamondog  · 技术社区  · 2 年前

    抱歉,如果标题很奇怪。我不知道该如何表达我的问题。我正在尝试制作一个程序,从2开始,倒计时0.1秒,直到0。这是我目前掌握的密码

    import time
    starting_int = 2
    for i in range(20):
        time.sleep(0.1)
        print(starting_int)
        starting_int -= 0.1
    

    我得到了这个结果

    2
    1.9
    1.7999999999999998
    1.6999999999999997
    1.5999999999999996
    1.4999999999999996
    1.3999999999999995
    1.2999999999999994
    1.1999999999999993
    1.0999999999999992
    0.9999999999999992
    0.8999999999999992
    0.7999999999999993
    0.6999999999999993
    0.5999999999999993
    0.49999999999999933
    0.39999999999999936
    0.2999999999999994
    0.19999999999999937
    0.09999999999999937
    

    如果有可能只得到前2个int。请让我知道如何解决我的问题。

    2 回复  |  直到 2 年前
        1
  •  1
  •   sloth    2 年前

    我想你的意思是把数字四舍五入到小数点后两位?为此,可以使用round函数。

    starting_int = round((starting_int-0.1),2)
    
        2
  •  0
  •   Jai Sloper    2 年前

    我认为之前的问题是它是一个整数,而不是一个浮点,所以这应该是可行的

    import time
    
    starting_int = 20
    
    for i in range(20):
        time.sleep(0.1)
        print(starting_int / 10)
        starting_int -= 1