用python中的pi值乘以一个数字
我希望从用户那里接受一个浮点数,并返回一个将该数乘以pi值=3.14的答案 这是我的密码:用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,然后在你的函数中
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——对。我显然是在你评论的时候写的。