diff --git a/复试笔记/历年真题Python代码/pratice/1-4.py b/复试笔记/历年真题Python代码/pratice/1-4.py deleted file mode 100644 index 5d2f15b..0000000 --- a/复试笔记/历年真题Python代码/pratice/1-4.py +++ /dev/null @@ -1,21 +0,0 @@ -def _1(): - a=int(input("请输入正整数a:")) - b=int(input("请输入正整数b:")) - print( '商:',divmod(a,b)[0], - '余数:',divmod(a,b)[1]) - -def _2(): - print(len(input("请输入一个中文词语:"))) - -def _3(): - m=int(input("请输入一个三位整数:")) - num=0 - while m: - m,n=divmod(m,10) - num+=n - print("%4d"%num) - -def _4(): - nums=(input("请输入两个坐标点的横纵坐标:")).split() - a,b,c,d=float(nums[0]),float(nums[1]),float(nums[2]),float(nums[3]) - print('两点的距离:',((a-c)**2+(b-d)**2)**0.5) diff --git a/复试笔记/历年真题Python代码/pratice/13-18列表.py b/复试笔记/历年真题Python代码/pratice/13-18列表.py deleted file mode 100644 index 8eae411..0000000 --- a/复试笔记/历年真题Python代码/pratice/13-18列表.py +++ /dev/null @@ -1,99 +0,0 @@ -import random -import numpy as np -def is_prime(n): - #判断n是否为素数 - if n<2: - return False - if n==2: - return True - top=int(n**0.5)+1 #确定判定边界 - for i in range(2,top): - if n%i==0: - return False - return True - -def func_13(): - #函数实现,先将500以内的质数存入列表,之后依次输出5个 - res=[] - for i in range(500): - if is_prime(i): - res.append(i) - j=0 - while j=len(res): - break - j+=5 - print('\n') - -def func_14(): - #对列表进行排序输出 - res=input('please input nums').split() - res=list(map(int,res)) - print(sorted(set(res))) - -def func_15(): - #判断两个字符串是否同构 - s1=sorted(list(input('please input str1:'))) - s2=sorted(list(input('please input str2:'))) - print('yes'if s1==s2 else 'no') - -def transpose(M): - # 直接使用zip解包成转置后的元组迭代器,再强转成list存入最终的list中 - return [list(row) for row in zip(*M)] -def func_16(): - #对数组进行随机赋值,并实现转置 - n=int(input("col:")) #n为矩阵维数 - mar=[] #mar空矩阵 - for i in range(n): - col=[] #一行一行赋值 - for j in range(n): - col.append(random.randint(1,10)) #对矩阵元素随机赋值 - mar.append(col) - print(mar) - print(np.array(mar).T) - print(transpose(mar)) - -def func_17(): - #对成绩根据总分从高到低排序,依次输出排序后的列表 - res=[['张飞',78,75], - ['李大刀',92,67], - ['李墨白',84,88], - ['王老虎',50,90], - ['雷小米',99,98]] - res.sort(key=lambda x:x[1]+x[2],reverse=True) #根据分数和进行逆排序,从高到低 - for i in range(len(res)): - print('%8s%8d'%(res[i][0],res[i][1]+res[i][2])) - -def func_18(): - # - n=int(input('num:')) - row, col = 0, n // 2 - magic = [] - for i in range(n): - magic.append([0] * n) - magic[row][col] = 1 - for i in range(2, n * n + 1): - r, l = (row - 1 + n) % n, (col + 1) % n #########不会 - if (magic[r][l] == 0): - row, col = r, l - else: - row = (row + 1) % n - magic[row][col] = i - marray = np.array(magic) - print(marray) - - -def main(): - #func_13() - #func_14() - #func_15() - func_16() - #func_17() - #func_18() - - pass -if __name__=='__main__': - main() - diff --git a/复试笔记/历年真题Python代码/pratice/19-25选择.py b/复试笔记/历年真题Python代码/pratice/19-25选择.py deleted file mode 100644 index 2afda4a..0000000 --- a/复试笔记/历年真题Python代码/pratice/19-25选择.py +++ /dev/null @@ -1,81 +0,0 @@ -from sympy import * -def func_19(): - #对二次函数进行求解 - a,b,c=list(map(float,eval(input('a,b,c:')))) #依次输入a,b,c - if a==0: #如果a为0,则无意义 - print('该函数无意义') - else: #不为0时,求解方程 - x=Symbol('x') - d1=(a*x**2+b*x+c)-(0) - print(solve([d1])) -def func_20(): - #判断三个点围成图形的周长及面积,并且判断是否为三角形 - x1,x2,x3,y1,y2,y3=list(map(float,eval(input('x1,x2,x3,y1,y2,y3:'))))#输入3个点的6个坐标 - f=lambda a1,a2,b1,b2:((a1-a2)**2+(b1-b2)**2)**0.5 #求两点线段长函数f - l1=f(x1,x2,y1,y2) - l2=f(x1,x3,y1,y3) - l3=f(x2,x3,y2,y3) - t=(l1+l2+l3)/2 - if max(l1,l2,l3)==t: #判断最长边是否为周长的一半,如果是,则为直线 - print('该图形不是三角形,是直线') - else: - s=((t*(t-l1)*(t-l2)*(t-l3))**0.5) #根据公式求面积 - print('周长为:%f,面积为:%f'%(2*t,s)) -def func_21(): - #判断一个点与一个圆的关系 - x1,y1,r,x2,y2=list(map(float,eval(input('x1,y1,r,y1,y2:')))) - f=lambda a1,a2,b1,b2:((a1-a2)**2+(b1-b2)**2)**0.5 #求两点线段长函数f - l=f(x1,x2,y1,y2) #l为该点到圆圆心的距离 - if l==r: - print('在圆上') - elif l>r: - print('在圆外') - else: - print('在圆内') -def func_22(): - #对一串数字进行顺序逆序输出 - x=input('请输入一个不多于5位的正整数:') - rx=x[::-1] #将x逆置并存入rx中 - print('他是%d位数'%len(x)) - for i in x: #顺序输出 - print(i) - for i in rx: #逆序输出 - print(i) - -def func_23(): - #对三个整数根据从小到大输出 - res=list(map(int,eval(input('x,y,z;')))) - res.sort() - for i in res: - print(i) -def func_24(): - #根据不同利息率计算利息 - x=eval(input('money:(万元)')) - if x<10: - print('%.4f万元'%(x*(1+0.015))) - elif x>=10 and x<50: - print('%.4f万元'%(x*(1+0.02))) - elif x>=50 and x<100: - print('%.4f万元'%(x*(1+0.03))) - else: - print('%.4f万元'%(x*(1+0.035))) -def func_25(): - #对字母进行转换输出 - x=input('请输入一个字母:') #将字母存入x - if x<'z' and x>'a': #x为小写字母 - print(x.upper()) - elif x>'A' and x<'Z': #x为大写字母 - print(x.lower()) - else: #其他情况 - print(x) -def main(): - #func_19() - #func_20() - #func_21() - #func_22() - #func_23() - #func_24() - func_25() - pass -if __name__=='__main__': - main() diff --git a/复试笔记/历年真题Python代码/pratice/26-32循环.py b/复试笔记/历年真题Python代码/pratice/26-32循环.py deleted file mode 100644 index 0cf73ba..0000000 --- a/复试笔记/历年真题Python代码/pratice/26-32循环.py +++ /dev/null @@ -1,79 +0,0 @@ -def func_26(): - #输出指定数目用*构成的等腰三角形 - n=int(input('please input a number:')) - for i in range(n): - print('{1:^{0}}'.format(n*2-1,((2*i)+1)*'*')) #根据位置依次输出指定数目的*,并居中输出 -def func_27(): - #输出乘法口诀表 - n=int(input('please input a number:')) #确定维度 - for i in range(1,n+1): - for j in range(1,1+i): - print(i*j,end='\t') - print('\n') - -def func_28(): - #输出指定边长的以*号构成的正六边形 - n=int(input('please input a number:')) #未作出 - for i in range(1,n*2): - for j in range(i): - print('*',end='\t') - print('\n') -def func_29(): - #求几个数的和 - n=int(input('Please input the number of numbers:')) #确定维度 - while n!=0: #当n不为0时继续 - nums=0 #和重置为0 - for i in range(n): - nums+=int(input('Please input number%d:'%(i+1))) #依次输入每一个数 - print('sum=',nums) - n=int(input('Please input the number of numbers:')) #继续输入数字个数 -def is_prime(n): - #判断n是否为素数 - if n<2: #小于2无质数 - return False - if n==2: #等于2就是质数 - return True - top=int(n**0.5)+1 - for i in range(2,top): #判断在2到平方根内有无其他因数,有则返回失败 - if n%i==0: - return False - return True -def func_30(): - #输入指定数字内的所有质数 - n=int(input('Please input the number of numbers:')) - for i in range(1,n): - if is_prime(i): - print(i,end=' ') -def func_31(): - #求S=a+aa+aa...a - a=input('a=') - n=int(input('n=')) - s=0 - for i in range(1,1+n): - s+=int(a*i) #先将字符个数累加,然后转化为整数加到总和里去 - print(s) -def func_32(): - #对给决定框架矩阵赋值,并且计算矩阵相加 - n=int(input('Please input the number of rows:')) - m=int(input('Please input the number of columns:')) - import numpy as np - A=np.zeros((n,m)) #生成n行m列A矩阵 - B=np.zeros((n,m)) #生成n行m列B矩阵 - for i in range(n): - for j in range(m): - A[i][j]=int(input('Please input A[{},{}]:'.format(i,j))) #对A矩阵赋值 - for i in range(n): - for j in range(m): - B[i][j]=int(input('Please input B[{},{}]:'.format(i,j))) #对B矩阵赋值 - print('c=',A+B) #矩阵相加为C -def main(): - #func_26() - #func_27() - #func_28() - #func_29() - #func_30() - #func_31() - func_32() - pass -if __name__=='__main__': - main() diff --git a/复试笔记/历年真题Python代码/pratice/33-40函数.py b/复试笔记/历年真题Python代码/pratice/33-40函数.py deleted file mode 100644 index 03467e8..0000000 --- a/复试笔记/历年真题Python代码/pratice/33-40函数.py +++ /dev/null @@ -1,123 +0,0 @@ -def func_33(): - #求一个整数的所有因子之和 - n=int(input('input a number:')) #输入整数 - ls=set() #创建一个空集合 - for i in range(1,n): - if n%i==0: #将可以除尽的因子添加到集合中 - ls.add(i) - print(sum(ls)) -def func_34(): - #将数字逆置 - n=int(input('input a number:')) #输入整数 - print('the reverse is:{}'.format(int(str(n)[::-1]))) #将数字转化为字符串逆置后再转化为数字 -def is_prime(n): - #判断n是否为素数 - if n<2: - return False - if n==2: - return True - top=int(n**0.5)+1 #判断的上界 - for i in range(2,top): - if n%i==0: #如果能被任意一位小的数整除,则不为素数 - return False - return True -def is_pal(n): - #判断n是否为回文数 - if int(str(n)[::-1])==n: - return True - else: - return False -def func_35(): - #依次输出8个数,总共输出30个数 - coun=0 #coun用来计数 - num=0 #num代表遍历的每一个数 - res=[] #res用来存储条件符合的数字 - while coun<30: - if is_prime(num) and not is_pal(num): #找到适合条件的反素数 - res.append(num) - coun+=1 - num+=1 - for i in range(coun//8+1): #按条件输出 - for j in range(8): - if i*8+j='A' and i<='Z': - ms+=str(chr(ord('A')+(ord(i)-ord('A')+n)%26)) - elif i>='a' and i<='z': - ms+=str(chr(ord('a')+(ord(i)-ord('a')+n)%26)) - else: - ms+=i - print('加密前的字符串:{}\n加密后的字符串:{}'.format(s,ms)) #####开始未作出 -def func_38(): - #将给定的英文语句单词倒序 - s=input('input a string:') #输入待倒序语句 - res=s.split() #依据空格分隔成列表 - rs=' ' - print(rs.join(res[::-1])) #将倒序列表用空格链接 -def func_39(): - #统计指定位置字符在字符串中出现的次数 - s=(input('input a string:')).lower() #输入语句并转化为全小写 - n=int(input('input the index:')) #输入待统计位置 - print(s.count(s[n])) #利用count函数统计 -def Fibonacci(res,n): - #做出斐波那契数列 - if len(res)<2: #初始化前两位,分别为1,1 - res.append(1) - res.append(1) - if len(res)