需要浮点数:[Python 2.7]

时间:2016-08-16 16:15:21

标签: python-2.7 math floating-point

错误:c = float(math.sqrt(num)) TypeError:需要浮点数

代码:

def sqrtn(num):
    c = float(math.sqrt(num))
    print "The square root of %s " % c

num = raw_input("Enter the no.")
if choice == 6:
    sqrtn(num)

解决方案:

num = float(raw_input("Enter the no."))

1 个答案:

答案 0 :(得分:0)

raw_input返回一个字符串,您将其传递给sqrt,而不转换为intfloat

您可以使用while循环来询问用户的号码,直到它输入有效号码。

while True:
    try:
        num = int(raw_input("Enter the no."))
    except ValueError:
        print "Enter a valid number"
    else:
        break

if choice == 6:
    sqrtn(num)