因为一个变量命名的关系中断了一个while 循环,有点意思,什么原因?

IDE:  Pycharm Community Edition

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

一、变量命名为 input , 中断了while 循环,不能循环提示输入:

def isNum(x):

if isinstance(x,int):
return True
elif isinstance(x,float):
return True
elif isinstance(x,complex):
return True
else:
return False

while True:
try:
input = eval(input("please input a data:"))
except:
continue
if isNum(input):
print('true')
else:
print('false')

输出:
  

please input a data:abc
please input a data:1
true

 

二、变量命名改为 value ,  有效while 循环能循环提示输入:

def isNum(x):

if isinstance(x,int):
return True
elif isinstance(x,float):
return True
elif isinstance(x,complex):
return True
else:
return False

while True:
try:
value = eval(input("please input a data:"))
except:
continue
if isNum(value):
print('true')
else:
print('false')

输出:

please input a data:abc
please input a data:1
true
please input a data:2
true
please input a data:

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄