题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。
1frathiprtsrt2n=int(rainpt('inptanbr:'))3s=n*-14k=int(srt(n))5friinrang(1,k+1):6ifn%i==0:7s+=n/i8s+=i9ifs==n:10print'YES'11s:12print'NO'
1'''2【程序20】3题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在4
第10次落地时,共经过多少米?第10次反弹多高?5'''6s=100.7h=50.08friinrang(2,11):9s+=h10h/=211print"thsngthfpath:%f"%s12print"thasthightis:%f"%h
1'''2【程序21】3题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个4
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下5
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。6'''7n=18friinrang(9,0,-1):9n=(n+1)<<110printn
1'''2★3【程序22】4题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,三人,乙队为x,y,z三人。已抽签决定5
比赛名单。有人向队员打听比赛的名单。a说他不和x比,说他不和x,z比,请编程序找出6
三队赛手的名单。7'''8friinrang(r('x'),r('z')+1):9frjinrang(r('x'),r('z')+1):10ifi!=j:11frkinrang(r('x'),r('z')+1):12if(i!=k)an(j!=k):13if(i!=r('x'))an(k!=r('x'))an(k!=r('z')):14print'rrisa--%s\tb--%s\t--%s'%(hr(i),hr(j),hr(k))
1'''2【程序23】3题目:打印出如下图案(菱形)45*6***7*****8*******9*****10***11*12'''13friinrang(1,8,2):14print''*(4-(i+1)/2)+'*'*i15friinrang(5,0,-2):16print''*(4-(i+1)/2)+'*'*i
1'''2【程序24】3题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。4'''5=2.06=1.07s=0.08friinrang(0,20):9s=s+/10=+11=-12print'%f'%s
1'''2【程序25】3题目:求1+2!+3!+...+20!的和4'''5s=06t=17friinrang(1,21):8t*=i9s+=t10prints
1'''2【程序26】3题目:利用递归方法求5!。4'''5ffn(i):6ifi==1:7rtrn18rtrni*fn(i-1)910printfn(5)
1'''2【程序27】3题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。4'''5ftpt(s,):6if==0:7rtrn8prints[-1]9tpt(s,-1)1011s=rainpt('Inptastring:')12=n(s)13tpt(s,)
1'''2【程序28】3题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第4
3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后5
问第一个人,他说是10岁。请问第五个人多大?6'''7ffn(i):8ifi==1:9rtrn1010rtrnfn(i-1)+21112printfn(5)
1'''2【程序29】3题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。4'''5ffn(i,nt):6ifi==0:7print'Thrar%igitinthnbr.'%nt8rtrn9printi%10,10i/=1011nt+=112fn(i,nt)1314i=int(rainpt('Inptanbr:'))15fn(i,0)
1'''2【程序30】3题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
4'''5ans=['Ys','N']6i=int(rainpt('Inptanbr(10000~99999):'))7ifi<10000ri>99999:8print'InptErrr!'9s:10i=str(i)11fag=012frjinrang(0,2):13ifi[j]!=i[4-j]:14fag=115brak16printans[fag]
1'''2【程序36】【筛选法】3题目:求100之内的素数
4'''5a=[0]*1016friinrang(2,11):7frjinrang(i+i,101,i):8a[j]=-1;9friinrang(2,101):10ifa[i]!=-1:11print'',i,
1'''2【程序37】3题目:对10个数进行排序4'''5print'inpt10nbrspas:'6=[]7friinrang(10):8.appn(int(rainpt('Inptanbr:')))9#可以直接使用srt函数:.srt()10#也可以自己写排序代码(选择排序)11friinrang(9):12frjinrang(i+1,10):13if[j]<[i]:14tp=[j]15[j]=[i]16[i]=tp17print
1'''2【程序38】3题目:求一个3*3矩阵对角线元素之和4'''5=[]6friinrang(3):7frjinrang(3):8.appn(int(rainpt('Inptanbr:')))9s=010friinrang(3):11s+=[3*i+i]12prints
1'''2【程序39】3题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。4'''5=[0,10,20,30,40,50]67print'Thsrtistis:',8nt=n()9n=int(rainpt('Inptanbr:'))10.appn(n)11friinrang(nt):12ifn<[i]:13frjinrang(nt,i,-1):14[j]=[j-1]15[i]=n16brak17print'Thnrtistis:',
1'''2【程序40】3题目:将一个数组逆序输出。4'''5a=[1,2,3,4,5,6,7,8,9]6=n(a)7printa8friinrang(/2):9a[i],a[-i-1]=a[-i-1],a[i]#注意此句10printa
1'''2【程序41】3题目:学习stati定义静态变量的用法4题目:学习使用at定义变量的用法5题目:学习使用xtrna的用法6题目:学习使用rgistr定义变量的方法7题目:宏#fin命令练习8'''9#Pythn没有这些功能
1'''2演示aba的使用。3'''4MAXIMUM=abax,y:(x>y)*x+(x<y)*y5MINIMUM=abax,y:(x>y)*y+(x<y)*x67if__na__=='__ain__':8a=109b=2010print'Thargarnis%'%MAXIMUM(a,b)11print'Thrnis%'%MINIMUM(a,b)
1'''2【程序51】3题目:学习使用按位与&。
4程序分析:0011&1=156题目:学习使用按位或|。7程序分析:0|0=0;0|1=1;1|0=1;1|1=189题目:学习使用按位异或^。10程序分析:0^0=0;0^1=1;1^0=1;1^1=01112题目:学习使用按位取反~。13程序分析:~0=1;~1=01415'''16a=077#8进制17b=a&318print'077&3=%'%b19b&=720print'077&3&7=%'%b2122a=07723b=a|324print'077|3=%'%b25b|=726print'077|3|7=%'%b2728a=07729b=a^330print'077^3=%'%b31b^=732print'077^3^7=%'%b
1'''2【程序54】3题目:取一个整数a从右端开始的4~7位。4'''5a=1006print100&0x00F0
1'''2【程序56】3题目:画圆【Tkintr模块】4'''5if__na__=='__ain__':6frTkintriprt*78anvas=Canvas(th=800,hight=600,bg='r')9anvas.pak(xpan=YES,fi=BOTH)10k=111j=112friinrang(0,26):13anvas.rat_va(310-k,250-k,310+k,250+k,th=1)14k+=j15j+=0.31617ainp()
1'''2【程序57】3题目:画直线。41.程序分析:
52.程序源代码:6'''7if__na__=='__ain__':8frTkintriprt*910anvas=Canvas(th=300,hight=300,bg='grn')11anvas.pak(xpan=YES,fi=BOTH)12x0=26313y0=26314y1=27515x1=27516friinrang(19):17anvas.rat_in(x0,y0,x0,y1,th=1,fi='r')18x0=x0-519y0=y0-520x1=x1+521y1=y1+52223x0=26324y1=27525y0=26326friinrang(21):27anvas.rat_in(x0,y0,x0,y1,fi='r')28x0+=529y0+=530y1+=53132ainp()
1'''2【程序58】3题目:画方形。
4'''5if__na__=='__ain__':6frTkintriprt*7rt=Tk()8rt.tit('Canvas')9anvas=Canvas(rt,th=400,hight=400,bg='y)10x0=26311y0=26312y1=27513x1=27514friinrang(19):15anvas.rat_rtang(x0,y0,x1,y1)16x0-=517y0-=518x1+=519y1+=52021anvas.pak()22rt.ainp()
1'''2题目:画图,综合例子。31.程序分析:42.程序源代码:5'''6if__na__=='__ain__':7frTkintriprt*8anvas=Canvas(th=300,hight=300,bg='grn')9anvas.pak(xpan=YES,fi=BOTH)10x0=15011y0=10012anvas.rat_va(x0-10,y0-10,x0+10,y0+10)13anvas.rat_va(x0-20,y0-20,x0+20,y0+20)14anvas.rat_va(x0-50,y0-50,x0+50,y0+50)15iprtath16B=0.80917friinrang(16):18a=2*ath.pi/16*i19x=ath.i(x0+48*ath.s(a))20y=ath.i(y0+48*ath.sin(a)*B)21anvas.rat_in(x0,y0,x,y,fi='r')22anvas.rat_va(x0-60,y0-60,x0+60,y0+60)232425frkinrang(501):26friinrang(17):27a=(2*ath.pi/16)*i+(2*ath.pi/180)*k28x=ath.i(x0+48*ath.s(a))29y=ath.i(y0+48+ath.sin(a)*B)30anvas.rat_in(x0,y0,x,y,fi='r')31frjinrang(51):32a=(2*ath.pi/16)*i+(2*ath.pi/180)*k-133x=ath.i(x0+48*ath.s(a))34y=ath.i(y0+48*ath.sin(a)*B)35anvas.rat_in(x0,y0,x,y,fi='r')36ainp()