Python100经典练习题(5)

2019-04-16 19:54

'''

【程序43】

题目:学习使用static的另一用法。 1.程序分析: 2.程序源代码:

有一个static变量的用法,python是没有,演示一个python作用域使用方法 '''

class Num: nNum = 1 def inc(self):

self.nNum += 1

print 'nNum = %d' % self.nNum

if __name__ == '__main__': nNum = 2 inst = Num() for i in range(3): nNum += 1

print 'The num = %d' % nNum inst.inc() '''

【程序44】

题目:学习使用external的用法。 1.程序分析: 2.程序源代码: external.py代码: '''

import external

if __name__ == '__main__': print external.add(10,20) '''

【程序45】

题目:学习使用register定义变量的方法。 1.程序分析: 2.程序源代码:

没有register关键字,用整型变量代替 '''

tmp = 0

for i in range(1,101): tmp += i

print 'The sum is %d' % tmp '''

【程序46】

题目:宏#define命令练习(1) 1.程序分析: 2.程序源代码:

没有C语言的宏,就这么写了 '''

TRUE = 1 FALSE = 0 def SQ(x):

return x * x

print 'Program will stop if input value less than 50.' again = 1 while again:

num = int(raw_input('Please input number'))

print 'The square for this number is %d' % (SQ(num)) if num >= 50: again = TRUE else:

again = FALSE '''

题目:宏#define命令练习(2)

1.程序分析: 2.程序源代码: #include \

#define exchange(a,b) { \\ /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上\

int t;\\ t=a;\\ a=b;\\ b=t;\\ }' 这个宏定义python不支持 '''

def exchange(a,b): a,b = b,a return (a,b)

if __name__ == '__main__': x = 10 y = 20

print 'x = %d,y = %d' % (x,y) x,y = exchange(x,y)

print 'x = %d,y = %d' % (x,y) '''

【程序48】

题目:宏#define命令练习(3) 1.程序分析: 2.程序源代码: #define LAG > #define SMA < #define EQ == #include \void main() { int i=10; int j=20; if(i LAG j) printf(\ else if(i EQ j) printf(\ else if(i SMA j) printf(\ else printf(\}

不知道如何用python实现类似的功能 '''

if __name__ == '__main__': i = 10 j = 20 if i > j:

print '%d larger than %d' % (i,j) elif i == j:

print '%d equal to %d' % (i,j) elif i < j:

print '%d smaller than %d' % (i,j) else:

print 'No such value' '''

【程序49】

题目:#if #ifdef和#ifndef的综合应用。 1. 程序分析: 2.程序源代码: #include \#define MAX

#define MAXIMUM(x,y) (x>y)?x:y #define MINIMUM(x,y) (x>y)?y:x void main()

{ int a=10,b=20; #ifdef MAX printf(\#else printf(\#endif

#ifndef MIN printf(\#else printf(\#endif

#undef MAX #ifdef MAX printf(\#else printf(\#endif

#define MIN #ifndef MIN printf(\#else printf(\#endif }

这个还是预处理的用法,python不支持这样的机制,演示lambda的使用。 '''

MAXIMUM = lambda x,y : (x > y) * x + (x < y) * y MINIMUM = lambda x,y : (x > y) * y + (x < y) * x

if __name__ == '__main__': a = 10 b = 20

print 'The largar one is %d' % MAXIMUM(a,b) print 'The lower one is %d' % MINIMUM(a,b) '''

【程序51】

题目:学习使用按位与&。

1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 2.程序源代码: '''

if __name__ == '__main__': a = 077 b = a & 3

print 'a & b = %d' % b b &= 7

print 'a & b = %d' % b '''

题目:学习使用按位或 | 。

1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 2.程序源代码: '''

if __name__ == '__main__': a = 077 b = a | 3

print 'a | b is %d' % b b |= 7

print 'a | b is %d' % b '''

【程序53】

题目:学习使用按位异或 ^ 。 1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0 2.程序源代码: '''

if __name__ == '__main__': a = 077 b = a ^ 3

print 'The a ^ 3 = %d' % b b ^= 7

print 'The a ^ b = %d' % b '''

【程序54】

题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑: (1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4) (3)将上面二者进行&运算。 '''

if __name__ == '__main__':

a = int(raw_input('input a number:\\n')) b = a >> 4 c = ~(~0 << 4) d = b & c

print '%o\\t%o' %(a,d) '''

【程序55】

题目:学习使用按位取反~。


Python100经典练习题(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:邢台市地理地质与环境

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: