在python中将数字与pi值相乘

时间:2015-12-14 03:14:04

标签: 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)

它给我一个错误,就是无法将非int序列与float相乘。这是什么意思?代码有什么问题?

1 个答案:

答案 0 :(得分:0)

raw_input的结果是str,这意味着nstr,然后在您的函数中,xstr }它不能乘以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