【问题标题】:Try /Exception in Function Python在函数 Python 中尝试 /Exception
【发布时间】:2016-02-27 18:35:15
【问题描述】:

刚开始玩python遇到了一个小问题 正方形的简单示例区域,带有错误输入的异常处理 正确输入整数时有效 - 但我应该输入字符串还是字符 - 我得到 Traceback(最近一次调用最后一次): 文件“ex3.py”,第 29 行,在 面积=宽度*长度 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"

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

【问题讨论】:

    标签: python


    【解决方案1】:

    您进行了递归调用,但结果无处可去。你需要退货。例如:

    return get_width()
    

    【讨论】:

    • 啊! ..太棒了,谢谢你! - 它有效,但只了解一半,我递归地使用该函数是的,返回宽度是否也处理此调用的结果?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 2019-03-06
    • 2017-03-23
    • 1970-01-01
    相关资源
    最近更新 更多