因為一個變數命名的關係中斷了一個while 迴圈,有點意思,什麼原因? IDE: Pycharm Community Edition 一、變數命名為 input , 中斷了while 迴圈,不能迴圈提示輸入: def isNum(x): if isinstance(x,int): return Tr ...
因為一個變數命名的關係中斷了一個while 迴圈,有點意思,什麼原因?
IDE: Pycharm Community Edition
一、變數命名為 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: