Python学习-一些让人头疼的小bug(新手升级的日常)
1.卡在一些看起来不会出错的地方,系统也没有报错。
来看一下这个程序:
这个程序的目的是想让用户输入数字,如果输入不是数字,那么就返回,要求用户重新输入。
while True:
t = input('plz enter a number:')
try:
t == int(t)
t = int(t)
print('You are clever! Your number is ' + t)
break
except:
print('You are wrong, man')
continue
运行的话,你会发现,的确可以筛选出非数字的情况,系统完全没有报错。但是结果是这样的:
plz enter a number:what
You are wrong, man
plz enter a number:hello
You are wrong, man
plz enter a number:g
You are wrong, man
plz enter a number:10
You are wrong, man
plz enter a number:5
You are wrong, man
咋回事呢?原因也很简单,因为你在程序里,重新定义了 t 变量的类型为整数(int),一般为了接下来的计算都会这么做。但是!定义之后,print函数里,没有加上str(t),导致print函数无