windows下一个回车键是两个字符'/r/n’,python3.2在控制台窗口中使用input()获取用户输入时只把'/n'滤掉了,但是还存在'/r',但是使用len()查看获取的字符串是不含'/r'的长度,所以如果使用=='1'比较获取的函数时,会false,而在IDLE中回车键只是'/n',在IDLE中能正常运行的代码,在控制台中就可能有问题了。下面是我的一个例子:
s='ss'
print(type(s),len(s))
print(type(s),len(s))
if s=='ss':
print('ss相等',s)
a=input('输入')
print(type(a),a,len(a))
if a=='1/r' or a=='1': #这样判断就不会出错了
print('字符')
elif a==1:
print('数字')
else:
print('什么也不是')
input()
上面的程序可以保存成1.py,双击正常运行了