Chinaunix首页 | 论坛 | 博客
  • 博客访问: 299116
  • 博文数量: 22
  • 博客积分: 674
  • 博客等级: 上士
  • 技术积分: 792
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-19 00:48
文章存档

2013年(2)

2012年(20)

我的朋友

分类: Python/Ruby

2012-04-17 10:35:26

在Python IDLE下写了个实现一个8位整型数字中化为二进制后,其中的1的个数的代码:

点击(此处)折叠或打开

  1. def count(v):
  2.     num = 0
  3.     #v = 5
  4.     while(v):
  5.         num += v & 0x01
  6.         v >>= 1
  7.     print num
运行后,在控制台报一下的错误:

点击(此处)折叠或打开

  1. SyntaxError: invalid syntax
一直指示print num处有错,然后查看python3的文档才发现,在python2中直接用print打印变量就可以,但是在python3却要放入括号中才能实现print功能。也就是将代码只需要改动小小的一处就可以顺利通过编译:

点击(此处)折叠或打开

  1. def count(v):
  2.     num = 0
  3.     #v = 5
  4.     while(v):
  5.         num += v & 0x01
  6.         v >>= 1
  7.     print (num)

点击(此处)折叠或打开

  1. >>> count(8)
  2. 1
  3. >>> count(5)
  4. 2
对于其它类型的打印也是一样的,例如:str1 = 'hello',如果直接在命令行下输入print str1也会报一样的语法错误而导致无法通过编译,print (str1)就okay了!
阅读(1885) | 评论(5) | 转发(0) |
给主人留下些什么吧!~~

无色T恤2012-04-18 21:26:35

多谢赐教~~小弟新人,拜读了

loogn_qiang2012-04-18 10:05:15

图片MM: - -呵呵,我最近准备学Python,发现Python2和Python3不兼容,那我是先学Python2好呢还是直接学Python3好?.....
个人感觉直接是python3吧,就目前来看,其实俩版本只是语法上存在一些差异。。。

loogn_qiang2012-04-18 10:03:39

147189385: - -不知道啊,这个你去网上找找???.....
这个问题是版本问题啊,已经解决了的。

1471893852012-04-17 22:56:41

- -不知道啊,这个你去网上找找???

图片MM2012-04-17 22:27:48

- -呵呵,我最近准备学Python,发现Python2和Python3不兼容,那我是先学Python2好呢还是直接学Python3好?