请问这个代码输入字符串为什么不会输出我我想要的结果

img


运行结果如下

img


我是希望它不论输入什么,最后都出来整数

改写成这样即可:


def getInput():
    while True:
        try:        
            n=input('input:')
            if type(eval(n))==int:                
                return n
        except:
            pass
print(getInput())

你的n定义在最外面,否则return n取不到while内的n值。
或者你把break换成return n