相关疑难解决方法(0)

将浮点数限制为两个小数点

我希望a四舍五入到13.95.

>>> a
13.949999999999999
>>> round(a, 2)
13.949999999999999
Run Code Online (Sandbox Code Playgroud)

round功能不像我预期的那样工作.

python floating-point precision rounding

1527
推荐指数
28
解决办法
287万
查看次数

在Python中,"SyntaxError:调用'print'时缺少括号"是什么意思?

当我尝试print在Python中使用语句时,它给了我这个错误:

>>> print "Hello, World!"
  File "<stdin>", line 1
    print "Hello, World!"
                        ^
SyntaxError: Missing parentheses in call to 'print'
Run Code Online (Sandbox Code Playgroud)

那是什么意思?

python python-3.x

378
推荐指数
7
解决办法
70万
查看次数

如何用Python舍入到2位小数?

我在这段代码的输出中得到了很多小数(华氏温度到摄氏温度转换器).

我的代码目前看起来像这样:

def main():
    printC(formeln(typeHere()))

def typeHere():
    global Fahrenheit
    try:
        Fahrenheit = int(raw_input("Hi! Enter Fahrenheit value, and get it in Celsius!\n"))
    except ValueError:
        print "\nYour insertion was not a digit!"
        print "We've put your Fahrenheit value to 50!"
        Fahrenheit = 50
    return Fahrenheit

def formeln(c):
    Celsius = (Fahrenheit - 32.00) * 5.00/9.00
    return Celsius

def printC(answer):
    answer = str(answer)
    print "\nYour Celsius value is " + answer + " C.\n"



main()
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何使程序围绕小数点后两位的每个答案?

python rounding

179
推荐指数
14
解决办法
50万
查看次数

Python中的round()似乎没有正确舍入

round()函数的文档声明您传递一个数字,并将小数点后的位置传递给round.因此它应该这样做:

n = 5.59
round(n, 1) # 5.6
Run Code Online (Sandbox Code Playgroud)

但是,实际上,良好的旧浮点怪异爬进来,你会得到:

5.5999999999999996
Run Code Online (Sandbox Code Playgroud)

出于UI的目的,我需要显示5.6.我在互联网上搜索并发现一些文档,这取决于我的Python实现.不幸的是,这发生在我的Windows开发机器和我尝试过的每台Linux服务器上.在这里也看到.

没有创建我自己的圆形库,有什么方法可以解决这个问题吗?

python floating-point rounding

114
推荐指数
9
解决办法
21万
查看次数

Python 中的百分比四舍五入

if act == "block" and enemy_decision != 2:
    percentage_blocked = (enemy_attack - block)/(enemy_attack) * 100
    print("You have blocked %s percent of the enemy's attack." % percentage_blocked)
Run Code Online (Sandbox Code Playgroud)

由此我得到诸如 82.113124523242323 之类的数字。我怎样才能把这个百分比四舍五入到第10位,例如82.1。

python

5
推荐指数
1
解决办法
1万
查看次数

Python舍入到最接近的0.25

我想将整数舍入到最接近的0.25十进制值,如下所示:

import math

def x_round(x):
    print math.round(x*4)/4

x_round(11.20) ## == 11.25
x_round(11.12) ## == 11.00
x_round(11.37) ## == 11.50
Run Code Online (Sandbox Code Playgroud)

这在Python中给出了以下错误:

Invalid syntax
Run Code Online (Sandbox Code Playgroud)

python math rounding python-3.x

3
推荐指数
2
解决办法
4681
查看次数

如何在python中使用int()将数字四舍五入到其最小值

我想要的是:

if 1700 / 1000 = 1.7 = int(1) # I want this to be True
   lst.append("T")
Run Code Online (Sandbox Code Playgroud)

我的原始代码是:

if 1700 / 1000 == int(1) # This is False and I want it to be True
   lst.append("T")
Run Code Online (Sandbox Code Playgroud)

if 语句为 False,因为答案是 1.7 而不是 1。我希望这是真的。所以我希望使用 int 将 1.7 向下舍入为 1,以便 if 语句为 True。

python truncate rounding

-1
推荐指数
1
解决办法
93
查看次数