In [9]:
def abc(a,b):
for i in range(1,b):
print(' '*(b-i)+i*a)
for j in range(b,0,-1):
print((b-j)*' '+j*a)
def main():
abc(' *',5)
if __name__ == '__main__':
main()
In [24]:
"""2、用递归和非递归分别实现函数求1!+2!+3!+...+n!,主程序以n=10分别调用。(20分)"""
def asd(n):
sum1=1
sum2=0
for i in range(1,n+1):
sum1=sum1*i
sum2=sum2+sum1
return sum2
def main():
print("1!+2!+3!+...+n!=",asd(10))
if __name__ == '__main__':
main()
In [31]:
def dfg(n):
if n==0:
return 1
else:
return n*dfg(n-1)
def fgh(n):
if n==0:
return 0
else:
return dfg(n)+fgh(n-1)
def main():
print("1!+2!+3!+...+n!=",fgh(10))
if __name__ == '__main__':
main()
In [54]:
"""3、北京车牌号的一般形式为:“京X-YYYYY”,其中X为字母,Y为字母或者数字,字母不能为I或者O,数字只能0-9之间。
请编写程序模拟选号过程:一次可以随机生成10个车牌号(不能有重复),依次将其编号为0-9,显示给用户。(20分)"""
import random
list1=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
list2=['A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z']
list3=['0','1','2','3','4','5','6','7','8','9']
for i in range(1,11):
print(i,'京',end='')
print(random.choice(list1),end='')
print('-',end='')
print(random.choice(list2),end='')
print(random.choice(list3),end='')
print(random.choice(list3),end='')
print(random.choice(list3),end='')
print(random.choice(list3),end='')
print()
In [56]:
"""4、两个向量间的距离可定义为两个向量间的夹角余弦值,给定三个向量,求向量间距离的最小值。三个向量为:[1,2,3,4],[4,5,6,7],[7,8,9,10](20分)"""
Out[56]:
In [ ]:
"""5、随机生成100000个整数(1-10000之间)作为集合A,随机生成100000个整数(1-15000之间)作为集合B。
(a)得到A,B所有出现的数及出现次数,分别输出到文件a.txt,b.txt中(新建文件),请输出多行,每行为两个数,两个数之间用逗号分隔(5分);
(b)列出A中所有回文数(例:12321)以及出现的次数(5分);
(c)列出B中分别由1-5个数字组成的数各自的总次数与总和,并按照总次数排序输出(如223就是3个数字组成的数,2834就是4个数字组成的数)(5分);
(d)从a.txt,b.txt读入得到A与B中出现的数(注意不要次数),计算既出现在A又出现在B中的数,追加输出到文件a.txt(5分)。
"""
A=set()
B=set()
for i in range(100000):
A.add(random.randint(1,10000))
for j in range(100000):
B.add(random.randint(1,15000))