在Python IDLE下写了个实现一个8位整型数字中化为二进制后,其中的1的个数的代码:
- def count(v):
- num = 0
- #v = 5
- while(v):
- num += v & 0x01
- v >>= 1
- print num
运行后,在控制台报一下的错误:
- SyntaxError: invalid syntax
一直指示print num处有错,然后查看python3的文档才发现,在python2中直接用print打印变量就可以,但是在python3却要放入括号中才能实现print功能。也就是将代码只需要改动小小的一处就可以顺利通过编译:
- def count(v):
- num = 0
- #v = 5
- while(v):
- num += v & 0x01
- v >>= 1
- print (num)
- >>> count(8)
- 1
- >>> count(5)
- 2
对于其它类型的打印也是一样的,例如:str1 = 'hello',如果直接在命令行下输入print str1也会报一样的语法错误而导致无法通过编译,print (str1)就okay了!
阅读(1915) | 评论(5) | 转发(0) |