我是一个新手(大概两周),正在尝试学习Python2.7x。我正在尝试做一个基本的程序,有一个用户输入一顿饭的费用,它输出多少钱,它将与.15小费。我希望输出看起来像23.44 (显示2个小数)
我的代码:
MealPrice = float(raw_input("Please type in your bill amount: "))
tip = float(MealPrice * 0.15,)
totalPrice = MealPrice+tip
int(totalPrice)
print "Your tip would be:
我有两个数字a和b: a= 1562239482.739072 b= 1562239482.739071
如果我在python中执行a-b,我会得到1.1920928955078125e-06。但是,我想要0.000001,这是减法后的正确答案。
任何帮助都将不胜感激。提前谢谢你。
t = float(1562239482.739071)
T = float(1562239482.739072)
D = float(T - t)
print(float(D))
或
t = 1562239482.739071
T = 1562239482.739072
D = T - t
print (D)
我正在处理一个长文件,其列如下所示:
0.028488 35.3465833928 0.223905932998 0.128418942246 23 51 50.23 -27 57 47.4
我必须复制前3列,处理最后3列,并将结果写入文件中。这是守则的一部分:
with open(file) as fin:
for line in fin:
a = float(line.split()[1])
b = float(line.split()[2])
c = float(line.split()[3])
在Python 3.5中,我希望使用locale.atof将德语数字字符串转换为浮点数,代码如下:
import locale
from locale import atof
locale.setlocale(locale.LC_ALL, 'de_DE')
number = atof('17.907,08')
但是,这会引发ValueError
ValueError: could not convert string to float: '17.907.08'
为什么?这不正是atof()的目的吗?
因此,我试图编写一个代码来解决微积分中的一般解决方案,而我的值之一是f1 = fractions.Fraction(2.0, period)的一个小部分,但是如果我使用12.5作为句点,它就会返回一个错误。代码:
from cmath import sin
import math
import re
import operator
import fractions
from decimal import Decimal
amplitude = input("What is the A value?: ")
period = input("What is the P v
我希望让Python声明一个float变量,然后将该变量显示为两个小数点,即使这个数字是一个整数。例如:
def floatToMoney:
# Some kind of function that outputs two decimal places
foo = float(6)
print(floatToMoney(foo))
boo = float(3.14159)
print(floatToMoney(boo))
并有以下产出:
6.00
3.14
我知道round()可以做到这一点,但是如果这个数字是整数,它就不会显示十进制数。我找到了decimal包,但是有没有办法做到这一
我不知道如何让Python在执行重复正弦运算时像我的计算器一样工作。
我的Python代码:
number = float(.565)
pi = float(math.pi)
for j in range(25):
number = round(math.sin(number*pi), 16)
这将返回0.446445551265。
当我用我的计算器做同样的运算时,我得到0.4464454868。
无论我对round()使用多高的精度,我都不能得到与我的计算器相同的结果。
我也尝试过使用Decimal库,但没有得到更好的结果。有什么想法吗?
我在从PostgreSQL中检索浮点数/实数值时遇到问题。
例如,我想存储: 123456789123456,使用select语句检索完全相同的数字。
表tbl (num real)插入tbl(num)值(‘123456789123456’);
现在,如果我"select num from tbl“,如果我运行"select CAST(num As numeric) AS num from tbl”,结果是"1.23457e+14“。如果我运行"select CAST(num as float) as num from tbl”,结果是1234567881031
我有一个问题,因为Mongodb在增加浮动时似乎没有保持精度。例如,以下内容应该会产生2.0
from decimal import Decimal # for python precision
for i in range(40):
db.test.update({}, {'$inc': {'count': float(Decimal(1) / 20)}}, upsert=True)
print db.test.find_one()['count']
2.000000000000001
我怎样才能避开这个问题呢?
我正在尝试编写一个程序,使用python中的Nilakantha级数来计算π的位数。但每次运行时,它给出的小数不会超过50位。我还在学习python,所以如果有任何帮助,我们将不胜感激。
# Program using Nilakantha Series to crunch digits of pi
from math import *
from decimal import *
getcontext().prec = 200 # this is not doing anything
# epsilon is how accurate I want to be to pi
EPSILON
我需要编写一个生成器,它接受一个范围,每次调用都会产生下一个浮点步骤。
Python代码:
def float_range(x, y, step):
while x <= y:
x = float(x)
if x % 1 == 0: # Here is the problem
yield int(x)
else:
yield x
x += step
当一个数字可以被1整除时,我应该把这个数字作为一个整数,但是if语句永远不会是真的。我已经试过float.is_integ
我把这个新函数包含到中,这个函数叫做.这很简单,但我无法调试和发现正确的Python对象属性和数组数据类型,将其转换为PostgreSQL基本类型。
CREATE FUNCTION s2_token_get_vertex(token text, k int, OUT debug text)
AS $f$
import s2sphere
point = s2sphere.Cell( s2sphere.CellId.from_token(token) ).get_vertex(k)
return ''.join(map(str,point))
$f$ LANGUAGE
我在F#中有这样的代码
let fun a b=
let mutable x1=float 0
<some stuff>
x1r<- -a/b
let main argv
let a=Int32.Parse(Console.ReadLine())
let b=Int32.Parse(Console.ReadLine())
fun a b
我在将-a/b转换为浮点型时遇到了问题。我尝试了老式的1.0f,以及一些其他的技巧,但都不起作用。有没有办法这样转换它,或者我必须用另一种方式写它?