本来是仿照书上的习题,做了一个变换,得到以下程序:
#!/usr/bin/env python
while True:
x = input('the result of 1 + 2 * 4:')
#print(type(x))
if int(x)==(1 + 2 * 4) :
print('Congratulations!')
break
else :
print('Wrong answer, try again')
写下如下代码:即使输入表达式的正确值, 运行结果始终显示为else分支,无法跳出循环,
后来想验证一下是否是因为x的类型与表达式不匹配所致,于是加上了循环内注释的那行,果然和预想的一致,即x为str类型。
然后将if表达式中的x加上int类型转换,程序运行就ok了。