该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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