In [ ]:
1写函数给定符号和行数*’,5可打印相应行数的如下菱形主程序输入符号和行数调用该函数进行验证。(20

In [2]:
line = '*' *5
for i in range(1, 6):
    print((5-i)*' '+(line[0]+' ')*i, end='')
    print()
for i in range(4,0,-1):
    print((5-i)*' '+(line[0]+' ')*i,end='')
    print()


    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 

In [ ]:
2用递归和非递归分别实现函数求1!+2!+3!+...+n!,主程序以n=10分别调用。(20

In [8]:
def recusive_sum(n):
    sum=0
    if n == 0:
        sum+=1
    else:
        sum+=n*recusive_sum(n-1)
    return sum

def notrecusive_sum(n):
    sum=0
    i=1
    j=1
    while(i<=n):
        j=j*i
        sum+=j
        i+=1
    return sum

print(recusive_sum(10))
print(notrecusive_sum(10))


3628800
4037913

In [ ]:
3北京车牌号的一般形式为:“京X-YYYYY”,其中X为字母Y为字母或者数字字母不能为I或者O数字只能0-9之间
请编写程序模拟选号过程一次可以随机生成10个车牌号不能有重复),依次将其编号为0-9显示给用户。(20

In [11]:
import random

def chepai():
    list1=[]
    list2=[]
    for i in range(10):
        list1[i]=chr(random(65,73) or random(74,79) or random(80,91))
        list2[i]=chr(random(48,58))
    for i in range(10):
        print(i+1,':','京',list1[i],'-',list2[i])
        
chepai()


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-dd772d8637be> in <module>()
     10         print(i+1,':','京',list1[i],'-',list2[i])
     11 
---> 12 chepai()

<ipython-input-11-dd772d8637be> in chepai()
      5     list2=[]
      6     for i in range(10):
----> 7         list1[i]=chr(random(65,73) or random(74,79) or random(80,91))
      8         list2[i]=chr(random(48,58))
      9     for i in range(10):

TypeError: 'module' object is not callable

In [ ]:
4两个向量间的距离可定义为两个向量间的夹角余弦值给定三个向量求向量间距离的最小值三个向量为[1,2,3,4],[4,5,6,7],[7,8,9,10]20

In [4]:
list1=[1,2,3,4]
list2=[4,5,6,7]
list3=[7,8,9,10]

def juli(lista,listb):
    sum=0
    for i in range(4):
        sum+=lista[i]*listb[i]
    chenga=0
    for i in range(4):
        chenga+=lista[i]**2
    chenga=chenga*(1/2)
    chengb=0
    for i in range(4):
        chengb+=listb[i]**2
    chengb=chengb*(1/2)
    return sum/(chenga*chengb)

a=juli(list1,list2)
b=juli(list2,list3)
c=juli(list1,list3)

if a<b and a<c:
    print(a)
if b<a and b<c:
    print(b)
if c<a and c<b:
    print(c)


0.020732102364755426

In [ ]:
5随机生成100000个整数1-10000之间作为集合A随机生成100000个整数1-15000之间作为集合B
a得到A,B所有出现的数及出现次数分别输出到文件a.txtb.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.txt5)。

In [6]:
import random
def countfreq(filename, words):
    freq_pairs = []
    with open(filename) as fh:
        text = fh.read()
    for word in words:
        number = a.count(word)
        freq_pairs.append([word, number])
    return freq_pairs

filenamea = r'd:\temp\a.txt'
a=[random.randint(0,101) for _ in range(100)]
tablea = countfreq(filenamea,a)
print(tablea[:100])

filenameb= r'd:\temp\b.txt'
b=[random.randint(0,151) for _ in range(150)]
tableb = countfreq(filenameb,b)
print(tableb[:100])


[[22, 1], [33, 1], [6, 3], [47, 1], [50, 2], [19, 1], [85, 3], [73, 2], [23, 2], [2, 4], [95, 1], [6, 3], [43, 3], [65, 1], [80, 2], [41, 2], [37, 1], [48, 2], [9, 1], [94, 3], [56, 2], [72, 1], [50, 2], [71, 1], [46, 1], [69, 2], [52, 3], [30, 3], [43, 3], [57, 1], [30, 3], [40, 1], [6, 3], [26, 1], [89, 1], [0, 1], [52, 3], [11, 2], [7, 1], [15, 1], [92, 2], [38, 1], [97, 1], [58, 2], [100, 1], [43, 3], [68, 1], [4, 1], [62, 1], [45, 1], [70, 1], [77, 1], [2, 4], [82, 1], [25, 1], [80, 2], [30, 3], [2, 4], [96, 1], [79, 2], [60, 1], [73, 2], [36, 2], [39, 1], [2, 4], [23, 2], [56, 2], [79, 2], [63, 2], [78, 1], [34, 1], [88, 3], [85, 3], [83, 2], [11, 2], [48, 2], [84, 1], [94, 3], [94, 3], [88, 3], [63, 2], [76, 1], [88, 3], [41, 2], [83, 2], [67, 1], [54, 1], [13, 1], [69, 2], [58, 2], [21, 1], [27, 1], [32, 1], [18, 1], [36, 2], [91, 1], [5, 1], [85, 3], [52, 3], [92, 2]]
[[68, 1], [30, 3], [30, 3], [101, 0], [0, 1], [145, 0], [3, 0], [95, 1], [95, 1], [95, 1], [49, 0], [58, 2], [11, 2], [26, 1], [15, 1], [35, 0], [0, 1], [70, 1], [64, 0], [55, 0], [128, 0], [145, 0], [78, 1], [44, 0], [14, 0], [116, 0], [68, 1], [55, 0], [146, 0], [64, 0], [136, 0], [38, 1], [120, 0], [5, 1], [70, 1], [141, 0], [102, 0], [80, 2], [89, 1], [37, 1], [27, 1], [111, 0], [139, 0], [70, 1], [123, 0], [46, 1], [133, 0], [43, 3], [103, 0], [114, 0], [88, 3], [20, 0], [75, 0], [34, 1], [124, 0], [76, 1], [112, 0], [36, 2], [32, 1], [127, 0], [97, 1], [46, 1], [77, 1], [80, 2], [34, 1], [90, 0], [118, 0], [25, 1], [122, 0], [39, 1], [77, 1], [140, 0], [123, 0], [17, 0], [46, 1], [77, 1], [34, 1], [126, 0], [42, 0], [104, 0], [3, 0], [96, 1], [28, 0], [81, 0], [135, 0], [63, 2], [113, 0], [99, 0], [144, 0], [79, 2], [66, 0], [64, 0], [108, 0], [102, 0], [65, 1], [134, 0], [26, 1], [37, 1], [147, 0], [12, 0]]

In [ ]: