Python重写C语言程序100例--Part7

‘‘‘
【程序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】
题目:学习使用按位取反~。   
1.程序分析:~0=1; ~1=0;
2.程序源代码:
如何查看复数的16进制数
‘‘‘
if __name__ == ‘__main__‘:
    a = 234
    b = ~a
    print ‘The a\‘s 1 complement is %d‘ % b
    a = ~a
    print ‘The a\‘s 2 complement is %d‘ % a
‘‘‘
【程序56】
题目:画图,学用circle画圆形。   
1.程序分析:
2.程序源代码:
#include "graphics.h"
main()
{
	int driver,mode,i;
	float j=1,k=1;
	driver=VGA;mode=VGAHI;
	initgraph(&driver,&mode,"");
	setbkcolor(YELLOW);
	for(i=0;i<=25;i++)
	{
		setcolor(8);
		circle(310,250,k);
		k=k+j;
		j=j+0.3;
	}
}

‘‘‘
if __name__ == ‘__main__‘:
    from Tkinter import *

    canvas = Canvas(width=800, height=600, bg=‘yellow‘)
    canvas.pack(expand=YES, fill=BOTH)
    k = 1
    j = 1
    for i in range(0,26):
        canvas.create_oval(310 - k,250 - k,310 + k,250 + k, width=1)
        k += j
        j += 0.3

    mainloop()
‘‘‘
【程序57】
题目:画图,学用line画直线。
1.程序分析:           
2.程序源代码:
‘‘‘
if __name__ == ‘__main__‘:
    from Tkinter import *

    canvas = Canvas(width=300, height=300, bg=‘green‘)
    canvas.pack(expand=YES, fill=BOTH)
    x0 = 263
    y0 = 263
    y1 = 275
    x1 = 275
    for i in range(19):
        canvas.create_line(x0,y0,x0,y1, width=1, fill=‘red‘)
        x0 = x0 - 5
        y0 = y0 - 5
        x1 = x1 + 5
        y1 = y1 + 5

    x0 = 263
    y1 = 275
    y0 = 263
    for i in range(21):
        canvas.create_line(x0,y0,x0,y1,fill = ‘red‘)
        x0 += 5
        y0 += 5
        y1 += 5

    mainloop()
‘‘‘
【程序58】
题目:画图,学用rectangle画方形。   
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
‘‘‘
if __name__ == ‘__main__‘:
    from Tkinter import *
    root = Tk()
    root.title(‘Canvas‘)
    canvas = Canvas(root,width = 400,height = 400,bg = ‘yellow‘)
    x0 = 263
    y0 = 263
    y1 = 275
    x1 = 275
    for i in range(19):
        canvas.create_rectangle(x0,y0,x1,y1)
        x0 -= 5
        y0 -= 5
        x1 += 5
        y1 += 5

    canvas.pack()
    root.mainloop()
‘‘‘
题目:画图,综合例子。
1.程序分析:
2.程序源代码:
‘‘‘
if __name__  == ‘__main__‘:
    from Tkinter import *
    canvas = Canvas(width = 300,height = 300,bg = ‘green‘)
    canvas.pack(expand = YES,fill = BOTH)
    x0 = 150
    y0 = 100
    canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)
    canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)
    canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)
    import math
    B = 0.809
    for i in range(16):
        a = 2 * math.pi / 16 * i
        x = math.ceil(x0 + 48 * math.cos(a))
        y = math.ceil(y0 + 48 * math.sin(a) * B)
        canvas.create_line(x0,y0,x,y,fill = ‘red‘)
    canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60)

    for k in range(501):
        for i in range(17):
            a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k
            x = math.ceil(x0 + 48 * math.cos(a))
            y = math.ceil(y0 + 48 + math.sin(a) * B)
            canvas.create_line(x0,y0,x,y,fill = ‘red‘)
        for j in range(51):
            a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1
            x = math.ceil(x0 + 48 * math.cos(a))
            y = math.ceil(y0 + 48 * math.sin(a) * B)
            canvas.create_line(x0,y0,x,y,fill = ‘red‘)
    mainloop()

Python重写C语言程序100例--Part7,布布扣,bubuko.com

时间: 2024-12-28 08:26:50

Python重写C语言程序100例--Part7的相关文章

Python重写C语言程序100例--Part8

''' [程序61] 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: ''' if __name__ == '__main__': a = [] for i in range(10): a.append([]) for j in range(10): a[i].append(0) for i in range(10): a[i][0] = 1 a[i][i] = 1 for i in range(2,10): for j in range(1,i): a[i][j] = a[i

Python重写C语言程序100例--Part5

''' 程序31] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. 2.程序源代码: ''' from sys import stdin letter = stdin.read(1) stdin.flush() while letter != 'Y': if letter == 'S': print 'please input second letter

Python重写C语言程序100例--Part4

''' [程序24] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 1.程序分析:请抓住分子与分母的变化规律. 2.程序源代码: ''' #方法一 a = 2.0 b = 1.0 s = 0 for n in range(1,21): s += a / b t = a a = a + b b = t print s #方法二 s = 0.0 for n in range(1,21): s += a / b b,a = a , a +

Python重写C语言程序100例--Part2

'''题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天. 2.程序源代码: ''' year = int(raw_input('year:\n')) month = int(raw_input('month:\n')) day = int(raw_input('day:\n')) months = (0,31,59,90,120,151,181,212,24

Python重写C语言程序100例--Part6

''' [程序41] 题目:学习static定义静态变量的用法 1.程序分析: 2.程序源代码: ''' # python没有这个功能了,只能这样了:) def varfunc(): var = 0 print 'var = %d' % var var += 1 if __name__ == '__main__': for i in range(3): varfunc() # attribut of class # 作为类的一个属性吧 class Static: StaticVar = 5 de

Python重写C语言程序100例--Part10

软中断 软中断的分配时静态的(即在编译时定义),而tasklet的分配和初始化可以在运行时进行. 软中断(即便是同一种类型的软中断)可以并发地运行在多个CPU上.因此,软中断是可重入函数而且必须明确地使用自旋锁保护其数据结构.tasklet不必担心这些问题,因为内核对tasklet的执行进行了更加严格的控制.相同类型的tasklet总是被串行执行. 换句话说就是:不能在两个CPU上同时运行相同类型的tasklet.但是,类型不同的tasklet可以在几个CPU上并发执行.tasklet的串行化使

Python重写C语言程序100例--Part3

''' [程序11] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 2.程序源代码: main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf(&qu

Python重写C语言程序100例--Part11

''' [程序91] 题目:时间函数举例1 1.程序分析: 2.程序源代码: ''' if __name__ == '__main__': import time print time.ctime(time.time()) print time.asctime(time.localtime(time.time())) print time.asctime(time.gmtime(time.time())) ''' [程序92] 题目:时间函数举例2 1.程序分析: 2.程序源代码: ''' if

Python重写C语言程序100例--Part1

''' [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 2.程序源代码: ''' for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print i,j,k ''' [程序2] 题目:企业发放