为了账号安全,请及时绑定邮箱和手机立即绑定

python:输入数字,然后存入数组,首位为0,为什么不行

python:输入数字,然后存入数组,首位为0,为什么不行

慕田峪4524236 2019-01-29 21:13:49
number = input(u'输入号码:\n'.encode('utf-8'))#number = "%03d"%numbernum_list = list(str(number)) num_list = [int(num_list[i]) for i in range(len(num_list))]print num_list 代码如上,输入其他数字还行。都能正常print出来 但是如果首位是0 。 比如输入“046”,那会打印出来[3,8] 请问这是什么原因
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你用的应该是python2.7。
把input方法替换成raw_input。
因为input实际执行的是eval(raw_input(prompt)),会导致输入的字符串046被执行,其0开头被识别为8进制数,转换成10进制后为038。
所以使用raw_input后得到字符串u'046'就可以了

查看完整回答
反对 回复 2019-01-29
  • 1 回答
  • 0 关注
  • 1489 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号