Python Noob:输入返回为none

时间:2016-03-18 22:20:31

标签: python

对于python来说,我还是非常新的,所以对我来说很容易。每当我测试这段代码时,它都会返回" None"而不是输入的输入。知道为什么会这样吗?

type arguments [play.api.libs.json.JsObject,Articles.this.JSONReadFile] do not conform to method find's type parameter bounds [S,T <: reactivemongo.api.gridfs.ReadFile[reactivemongo.play.json.JSONSerializationPack.type, _]](line 97)

     result <- maybeArticle.map { article =>
97        gridFS.find[JsObject, JSONReadFile]( 
98          Json.obj("article" -> article.id.get)).collect[List]().map { files =>
99          val filesWithId = files.map { file =>

2 个答案:

答案 0 :(得分:5)

您将return value行缩进了太多。它是except:处理程序的一部分,因此只有在 no value 时才执行它!它应该在外面 while循环:

def inputLandValue():
    while(1):
        try:
            value=int(input('Please enter the value of the property '))
            break
        except:
            print('Please enter a whole number (10000)')
    return value

或将break替换为return value

def inputLandValue():
    while(1):
        try:
            value=int(input('Please enter the value of the property '))
            return value
        except:
            print('Please enter a whole number (10000)')

但你应该只抓住ValueError;这不是口袋妖怪,不要试图抓住所有人:

except ValueError:

答案 1 :(得分:0)

您只需将“return value”代替break中的main()即可解决您的问题。