如何修复'NoneType'对象不能解释为整数错误

当我将其全部写入主程序时,程序运行良好,但是当我将其放入函数中时,会出现此错误(“ NoneType”对象无法解释为整数),我猜这是由于提示和整数混合造成的。 我在stackoverflow中看到很多类似的错误,但仍然无法解决我的问题。 任何想法如何解决这一问题?

我的职能包括

def take_value(min, max, prompt) :

    value = int(input("input your value"))

    while(value < min or value > max) :
        print("Error – re-enter number (min-max)")
        print(prompt)
        value = int(input("input your value"))
        return value

这是我主程序中的代码行,它调用该函数

numCompetitors =take_value(3,16, "Error – Re-enter number of competitors(between 3 and 16 inc)")

for comp in range(0,numCompetitors):
评论
  • Me
    Me 回复
    def take_value(min, max, prompt) :
    
        value = int(input("input your value"))
    
        while(value < min or value > max) :
            print("Error – re-enter number (min-max)")
            print(prompt)
            value = int(input("input your value"))
        return value
    

    return语句应该在循环之外,以确保如果第一个值有效,它将返回它。