x = input("x= ")
if x == 1:
print ('hello,world!')
else:
print('123')
这是源码,为什么不管我输什么都是打印123
x = input('x= ')
print x, type(x) #看一下x的类型和真实值
if x == 1:
print('hello')
else:
print('123')
print x, type(x) #看一下x的类型和真实值
if x == 1:
print('hello')
else:
print('123')
如果x为1,且为int型,那肯定会打印出hello,反之则打印123。
追问不知道会不会是版本问题
追答你按我说的做,输出的x具体值和类型是什么?我查了一下文档,python3的input相当于python2的raw_input,返回的是一个字符串,所以你把if语句改成:
if x == '1':就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-08-15
r=cur.fetchall()
r的数据类型是个查找集的数组,n in r判断的时候n和r数组里的元素类型并不一样。你需要先把r数组的记录取出来:
ns = []
for rec in r:
ns.append(r['usernumber'])
if n in ns:
....
类似这样的方式才能进行对比。追问
r的数据类型是个查找集的数组,n in r判断的时候n和r数组里的元素类型并不一样。你需要先把r数组的记录取出来:
ns = []
for rec in r:
ns.append(r['usernumber'])
if n in ns:
....
类似这样的方式才能进行对比。追问
。。。
。。。
第2个回答 2014-08-15
因为input获得的是字符串,而不是数字,所以'1'==1返回的是False。。。
你可以x= int(input("x= "))来吧输入转换成整形数字。追问
你可以x= int(input("x= "))来吧输入转换成整形数字。追问
谢了,不过我认为不是因为那个
追答input输入的内容也还是字符串。。
第3个回答 2014-08-15
可以啊,我测试了一下,你的代码能够正常运行。可能是你的Python的配置问题,或者是你的Python版本的问题!追问
我的是python3.3 不知道是否因为这个
追答我的是Python2.7,我测试的没问题!