函数Python中的Try / Exception

时间:2015-11-25 04:38:52

标签: python

刚刚开始玩python遇到了一个小问题 简单的示例广场区域,具有错误输入的异常处理 当正确输入整数时工作 - 但是我应该输入和字符串或字符 - 我得到Traceback(最近一次调用最后一次):   文件" ex3.py",第29行,in     面积=宽度*长度 TypeError:*:' NoneType'不支持的操作数类型和' int'

#!/usr/bin/python

def error():
        print "no parameter entered - please enter parameter"

def get_width():
        width = None
        try:
                width = int(raw_input("please enter width of the room in meters: "))
                return width
        except:
                error()
                get_width()

def get_length():
        length = None
        try:
                length = int(raw_input("please enter length of the room in meters: "))
                return length

        except:
                error()
                get_length()

print "\nExercise 3: Area of a Room"

width = get_width()
length = get_length()
area = width * length

print "The area of a room with a width of "+str(width)+" and a length of "+str(length)+" is "+str(area)+" squared meters\n"

任何帮助/解释都会非常感谢

1 个答案:

答案 0 :(得分:1)

你进行递归通话,但结果不会到达任何地方。你需要退货。例如:

return get_width()