In [ ]:
#01
def ling(char,num):
    for i in range(1,num):
        print(' '*(num-i)+char*i)
    print(char*num)
    for i in range(1,num):
        print(' '*i+char*(num-i))
char = input('请输入您想要的符号')
char = char+' '
num = int(input('请输入您想要的数字'))
ling(char,num)

#02_01
def jiecheng(n):
    sum = 0
    if n == 1:
        return 1
    else:
        return n*jiecheng(n-1)
n = int(input('输入您想要的数'))
sum = 0
for i in range(1,n+1):
    sum += jiecheng(i)
print(sum)
#02_02
def jiecheng(n):
    sum = 0
    for i in range(1,n+1):
        k_01 = 1
        for j in range(1,i+1):
            k_01 *= j
        sum += k_01
    return sum
n = int(input('输入您想要的数字'))
print(jiecheng(n))

#03
import random
def make_num():
    global s_01
    global s_02
    char_num = random.randint(65,90)
    while char_num in [73,79]:
        char_num = random.randint(65,90)
    s_01 = chr(char_num)
    num = random.randint(0,99999)
    s_02 = str(num)
    if len(s_02) != 5:
        s_02 = '0'*(5-len(s_02))+s_02
def pan(s_01,s_02):
    global k
    for i in range(k):
        if (s_01 == l_chr[i]) and (s_02 == l_num):
            return False
        else:
            return True
def put_list():
    global s_01
    global s_02
    global k
    l_chr[k] = s_01
    l_num[k] = s_02
def print_list():
    global k
    print('京'+' '+l_chr[k]+'-'+l_num[k])
def xuanhao():
    global k
    for i in range(10):
        k = i
        make_num()
        while pan(s_01,s_02) == False:
            make_num()
        put_list()
        print_list()
global l_chr
global l_num
l_chr = [''for i in range(10)]
l_num = [''for i in range(10)]
xuanhao()
        
#04
import math
def distance(x,y):
    global k
    k_01 = 0
    k2_01 = 0
    k2_02 = 0
    for i in range(k):
        k_01 += int(x[i])*int(y[i])
        k2_01 += int(x[i])*int(x[i])
        k2_02 += int(y[i])*int(y[i])
    k2_01 = math.sqrt(k2_01)
    k2_02 = math.sqrt(k2_02)
    return k_01/(k2_01*k2_02)

s_01 = input('第一个向量为')
s_02 = input('第二个向量为')
s_03 = input('第三个向量为')
s_new_01 = ''
s_new_02 = ''
s_new_03 = ''
a1 = s_new_01.split(',')
a2 = s_new_02.split(',')
a3 = s_new_03.split(',')
k = 0
k = len(a1)
s1 = a1[1]
s2 = a1[k]
for i in range(1,len(s1)):
    s_new1 += s1[i]
for i in range(1,len(s2)):
    s_new2 += s2[i]
a1[1] = s_new1
a1[k] = s_new2
s1 = a2[1]
s2 = a2[k]
for i in range(1,len(s1)):
    s_new1 += s1[i]
for i in range(1,len(s2)):
    s_new2 += s2[i]
a2[1] = s_new1
a2[k] = s_new2
s1 = a3[1]
s2 = a3[k]
for i in range(1,len(s1)):
    s_new1 += s1[i]
for i in range(1,len(s2)):
    s_new2 += s2[i]
a3[1] = s_new1
a3[k] = s_new2
a_a = [[] for i in range(3)]
a_a[0] = a1
a_a[1] = a2
a_a[2] = a3
ma = 0
for i in range(3):
    for j in range(3):
        if i == j:
            break
        num = distance(a_a[i],a_a[j])
        if num > ma:
            ma = num
print(ma)

#05
#(a)
import random
with open(r'D:\Python36\exam\a.txt','w') as a, open(r'D:\Python36\exam\b.txt','w') as b:
    word_a = [0 for i in range(100000)]
    word_b = [0 for i in range(100000)]
    for i in range(100000):
        k = random.randint(1,10000)
        if k in word_a:
            word_a[k] += 1
        else:
            word_a[k] = 1
    for i in range(1,100001):
        if word_a[i] >= 1:
            a.write(str(i))
            a.write(str(word_a[i]))
            a.write('\n')
    for i in range(100000):
        k = random.randint(1,15000)
        if k in word_b:
            word_b[k] += 1
        else:
            word_b[k] = 1
    for i in range(1,100001):
        if word_b[i] >= 1:
            b.write(str(i))
            b.write(str(word_b[i]))
            b.write('\n')
#(b)
for i in range(100000):
    if word_a[i] >= 0:
        s = i
        if s == s[::-1]:
            print(s,word_a[i])
#(c)
sum_01 = 0
sum_02 = 0
for i in range(10000):
    if wrod_a[i] >= 1:
        sum_01 += word_a[i]
        sum_02 += word_a[i]*i
print(sum_01,sum_02)
#(d)
with open('D:\Python36\exam\a.txt','w') as f:
    for i in range(100000):
        if (word_a[i] >= 1) and (word_b[i] >= 1):
            f.write(str(i))
            f.write('\n')