我希望接受来自用户的浮点数,并将该数字乘以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)
它给我一个错误,就是无法将非int序列与float相乘。这是什么意思?代码有什么问题?
答案 0 :(得分:0)
raw_input
的结果是str
,这意味着n
是str
,然后在您的函数中,x
是str
}它不能乘以float
。
您希望在乘以x
之前将pi
转换为浮点数。
有很多地方可以做到这一点,但我建议在传递给gen_pi
之前这样做:
gen_pi(float(n))
这样,gen_pi
总是可以假设它正在使用float
并且代码可以简化:
def gen_pi(x):
return x * 3.14
另请注意,如果您希望更多精度(可能还有更多代码清晰度),则可以使用math.pi
:
import math
def gen_pi(x):
return x * math.pi