python趣味编程入门_趣味编程

python趣味编程入门_趣味编程该楼层疑似违规已被系统折叠隐藏此楼查看此楼001#-*-coding:cp936-*-002frommathimportacos,sqrt003#第一章最简单的问题004#《c趣味编程》1-10题005#21

python趣味编程入门_趣味编程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

001 # -*- coding: cp936 -*-

002 from math import acos,sqrt

003 #第一章—-最简单的问题

004 #《c趣味编程》1-10题

005 #21:39 2007-1-5

006 def genfunc(n,k):

007     head = “””

008 def permute(seq0):

009     result = [] “””

010     boiler = “””

011 for counter%i in seq%i:

012     seq%i = seq%i[:]

013     seq%i.remove(counter%i)”””

014     for i in range(1,k+1):

015         space = ‘    ‘*i

016         head = head + boiler.replace(‘\n’,’\n’+space)%(i,i-1,i,i-1,i,i)

017     temp = ‘,’.join([ ‘counter%i’%(x) for x in range(1,k+1) ] )

018     head = head + ‘\n’ + space + ”    result.append(”.join([%s]))”%(temp)

019     return head + ‘\n    return result\n’

020 def zz1(e,f):

021     ss=[]

022     for m in e:

023         s1=” “*62

024         k=f(m)

025         s2=s1[:k]+”*”+s1[k+1:]

026         k=62-k

027         s3=s2[:k]+”*”+s2[k+1:]

028         ss+=[s3]

029     return ss

030

031 def z1():

032     #绘制余弦曲线

033     k=zz1(range(10,-11,-1),lambda m: int(acos(m/10.0)*10))

034     for n in k:

035         print n

036

037 def z2():

038     #绘制余弦曲线和一条直线

039     k=zz1(range(10,-11,-1),lambda m: int(acos(m/10.0)*10))

040     def g(e,gg,f):

041         ss=[]

042         for m in e:

043             s1=gg[m]

044             k=f(m)

045             if 0

046                 s2=s1[:k]+”#”+s1[k+1:]

047             else :

048                 s2=s1

049             ss+=[s2]

050         return ss

051     k=g(range(20),k,lambda m: int(4.5*(m-1)+3.1))

052     for n in k:

053         print n

054

055 def z3():

056     #绘制圆

057     k=zz1(range(10,-11,-1),lambda m: int(30-2.5*int(sqrt(100-m*m))))

058     for n in k:

059         print n

060 def z4():

061     ”’唱歌大奖比赛,去掉最高分和最低分得到平均分

062     ”’

063     def g(n):

064         x=max(n)

065         nn=min(n)

066         print “最高分”,x

067         print “最低分”,nn

068         print “平均分”,(sum(n)-x-nn)/(len(n)-2)

069         return

070     m=[1,2,3,4,5,6,7]

071     g (m)

072

073 def z5():

074     #555555的最大的三位数约数是多少

075     print max(filter(lambda x: 555555%x==0,range(100,999)))

076 def z6():

077     #13的20次方的最后三位数是多少

078     def zz6(x,y,z):

079         xx=[x]*y

080         return reduce(lambda x,y:x*y%z, xx)

081     print zz6(13,20,1000)

082

083 def z7():

084     #100 !的末尾有多少个0

085     def g(n):

086         k=0

087         for m in range(1,n+1):

088             if m%25==0 :

089                 k+=2

090             elif m%5==0 :

091                 k+=1

092         return k

093     print g(100)

094 def z8():

095     #5个取3个的排列的总数以及方法

096     functext = genfunc(9,3)

097     print functext

098     exec(functext)

099     s=permute(list(“12345”))

100     print s,len(s)

101 def z9():

102     #计算杨辉三角形

103     g = lambda x,y: (y==1 or y==x+1) and 1 or g(x-1,y-1)+g(x-1,y)

104     for m in range(1,13):

105         print ‘ ‘*2*(13-m),

106         for n in range(1,m+2):

107             print  str(g(m,n)).center(4),

108         print

109 def z10():

110     #把10进制度变成2进制

111     def g(n,k):

112         d=n

113         s=””

114         while d!=0:

115             d,f=divmod(d,k)

116             s=str(f)+s

117         return s

118     print g(234,2)

119 if __name__ == ‘__main__’:

120     s=””

121     for i in range(1,11):

122         s+=’z’+str(i)+'()\n’

123     exec(s)

124

今天的文章python趣味编程入门_趣味编程分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/77984.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注