python 负数右移_Python练习实例100例(从简入难)51-55
相信有很多人都在努力地自学着Python,但自学过程中总是看懂了却不会做。这就像学生时期老师讲过了,觉得听懂了,但一看题就懵了。在自学任何一门软件或是编程语言的过程中,最重要的是结合教程去进行实践训练,毕竟“实践才是检验真理的唯一标准”。今天给大家带来Python从初级入门到精进的练习实例共100例,每篇五道题保持篇幅不会过长,大家练习也循序渐进、松弛有度。并且还会附上题目程序的的源代码,供大家参
相信有很多人都在努力地自学着Python,但自学过程中总是看懂了却不会做。这就像学生时期老师讲过了,觉得听懂了,但一看题就懵了。
在自学任何一门软件或是编程语言的过程中,最重要的是结合教程去进行实践训练,毕竟“实践才是检验真理的唯一标准”。
今天给大家带来Python从初级入门到精进的练习实例共100例,每篇五道题保持篇幅不会过长,大家练习也循序渐进、松弛有度。并且还会附上题目程序的的源代码,供大家参考,大家初期可以“照猫画虎”去发现其编程的目的及规律,从而更好地理解。
Python 练习实例51
题目:学习使用按位与 & 。
程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1。
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
a = 0x77
b = a & 3
print 'a & b = %d' % b
b &= 7
print 'a & b = %d' % b
Python 练习实例52
题目:学习使用按位或 | 。
程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
a = 077
b = a | 3
print 'a | b is %d' % b
b |= 7
print 'a | b is %d' % b
Python 练习实例53
题目:学习使用按位异或 ^ 。
程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
a = 077
b = a ^ 3
print 'The a ^ 3 = %d' % b
b ^= 7
print 'The a ^ b = %d' % b
Python 练习实例54
题目:取一个整数a从右端开始的4〜7位。
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
a = int(raw_input('input a number:n'))
b = a >> 4
c = ~(~0 << 4)
d = b & c
print '%ot%o' %(a,d)
Python 练习实例55
题目:学习使用按位取反~。
说明:
二进制数在内存中以补码的形式存储。
按位取反:二进制每一位取反,0 变 1,1 变 0。
最高位为符号位,正数的符号位为 0,负数为 1。
对正数来说,最高位为 0,其余各位代表数值本身(以二进制表示),如 +42 的补码为 00101010。
对负数而言,把该数绝对值的补码按位取反,然后对整个数加 1,即得该数的补码。如 -42 的补码为 11010110(00101010 按位取反
11010101+1 即 11010110)。
~9 的计算步骤:
转二进制:0 1001
计算补码:0 1001
按位取反:1 0110
转为原码:
按位取反:1 1001
末位加 1:1 1010
符号位为 1 是负数,即 -10
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 7
b = ~a
c = -7
d = ~c
print '变量 a 取反结果为: %d' % b
print '变量 c 取反结果为: %d' % d
祝大家Python学习顺利!没有 B U G~
更多推荐
所有评论(0)