Python:类型错误,非整数的数字和变量问题

时间:2012-07-17 10:21:15

标签: python string variables int

所以我试图制作一个程序,要求3个数字,然后返回这些数字的乘积(确定长方体的体积)

def cuboid ():
    A = input('Height '),
    B = input('Width '),
    C = input('Depth '),

到目前为止,这使得PYthon要求三个值,但我不知道告诉python他们不是字符串,而是整数。即我不知道如何使用int()命令。 所以如果之后我输入:Volume = A*B*C它会产生一个TypeError,因为他认为1,2和3不是整数。

我不知道为什么它不起作用,因为粗糙

def o3 (x,y,z):
    print x*y*z

确实有效。 提前致谢

3 个答案:

答案 0 :(得分:1)

您正在使用input(),您应该使用raw_input()。在输入之后,您只需要说a = int(a),并且a将是一个整数,您可以对其进行常规算术。

示例:

def get_cube_dims():
    x = int( raw_input('Enter x:') )
    y = int( raw_input('Enter y:') )
    z = int( raw_input('Enter z:') )
    print 'The volume is: {}'.format(x*y*z)

答案 1 :(得分:1)

def input_int(text):
    while True:
        x = raw_input('%s: ' % text) 
        try:
            return int(x)
        except Exception, e:
            print 'Please enter a correct integer'


h = input_int('Height')
l = input_int('Length')
w = input_int('Width')

print 'Result is', h * l * w

答案 2 :(得分:0)

这就是你想要的地方吗?

def cuboidv ():
    h=input('enter hieght')
    l=input('enter length')
    w=input('enter width')
    ans=l*w*h
    print ans