Python Noob:输入返回为非

2024-09-30 01:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

说到python,我还是很新的,所以对我放松点。每当我测试这个代码时,它返回“None”而不是输入的输入。知道为什么会这样吗

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
def main():
    while(1):
        landValue = inputLandValue()
        print(landValue)
        doMoreStuff = input('Do you want to continue? y/n ')
        if(doMoreStuff.lower() != 'y'):
            break
main()
input() 

Tags: the代码noneinputvaluemaindefprint
2条回答

只需将return value替换为main()中的break,就可以解决问题

您的return value行缩进太多。它是except:处理程序的一部分,因此只有当您没有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

或者用return value替换break

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:

相关问题 更多 >

    热门问题