用python中的pi值乘以一个数字

用python中的pi值乘以一个数字,python,input,types,Python,Input,Types,我希望从用户那里接受一个浮点数,并返回一个将该数乘以pi值=3.14的答案 这是我的密码: print "Enter a no." n = raw_input('enter here: ') result = 1 def gen_pi(x): result = x*3.14 return float(result) gen_pi(n) 这给了我一个错误,不能将非整数序列与浮点相乘。这是什么意思?代码有问题吗 原始输入的结果是一个str,这意味着n是一个str,然后在你的函数中

我希望从用户那里接受一个浮点数,并返回一个将该数乘以pi值=3.14的答案

这是我的密码:

print "Enter a no."
n = raw_input('enter here: ')
result = 1
def gen_pi(x):
    result = x*3.14
    return float(result)

gen_pi(n)

这给了我一个错误,不能将非整数序列与浮点相乘。这是什么意思?代码有问题吗

原始输入的结果是一个
str
,这意味着
n
是一个
str
,然后在你的函数中,
x
是一个
str
,它不能乘以
float

您需要先将
x
转换为浮点,然后再乘以
pi

有很多地方可以这样做,但我建议在转到
gen_pi
之前这样做:

gen_pi(float(n))
import math
def gen_pi(x):
    return x * math.pi
通过这种方式,
gen_pi
始终可以假定它使用的是
浮点
,并且代码可以简化:

def gen_pi(x):
    return x * 3.14
还请注意,如果您想要更高的精度(以及可能更清晰的代码),可以使用
math.pi

gen_pi(float(n))
import math
def gen_pi(x):
    return x * math.pi

此外,由于
3.14
已经是一个浮点数,
结果(在
gen_pi
中)也将是一个浮点数。所以
returnfloat(result)
应该是
returnresult
@aneroid——对。我显然是在你评论的时候写的。