From 5684cf69156ffb2b0e2d55cf80c305a6decad5f9 Mon Sep 17 00:00:00 2001 From: Sheldoer <1829523261@qq.com> Date: Tue, 6 Apr 2021 10:29:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E7=BA=A7=E6=A8=A1=E6=8B=9F=E9=A2=98?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 复试笔记/红果研上机模拟题及实现代码/1-4.py | 21 + .../红果研上机模拟题及实现代码/13-18列表.py | 99 ++ .../红果研上机模拟题及实现代码/19-25选择.py | 81 ++ .../红果研上机模拟题及实现代码/26-32循环.py | 79 ++ .../红果研上机模拟题及实现代码/33-40函数.py | 123 +++ .../41-47字符串与正则表达式.py | 59 ++ .../红果研上机模拟题及实现代码/48-53序列.py | 67 ++ 复试笔记/红果研上机模拟题及实现代码/5-8.py | 31 + .../红果研上机模拟题及实现代码/54-59文件操作.py | 88 ++ 复试笔记/红果研上机模拟题及实现代码/9-12.py | 47 + 复试笔记/红果研上机模拟题及实现代码/Sort.txt | 14 + .../红果研上机模拟题及实现代码/bigfile.txt | 845 ++++++++++++++++++ 复试笔记/红果研上机模拟题及实现代码/copy.txt | 6 + .../红果研上机模拟题及实现代码/folder/file1.txt | 6 + .../红果研上机模拟题及实现代码/folder/file2.txt | 2 + .../红果研上机模拟题及实现代码/folder/file3.txt | 5 + .../红果研上机模拟题及实现代码/folder/file4.txt | 10 + .../红果研上机模拟题及实现代码/folder/merge.txt | 23 + 复试笔记/红果研上机模拟题及实现代码/names.txt | 13 + 复试笔记/红果研上机模拟题及实现代码/new.txt | 11 + .../红果研上机模拟题及实现代码/new_names.txt | 14 + .../红果研上机模拟题及实现代码/new_word.txt | 16 + .../红果研上机模拟题及实现代码/numbers.txt | 12 + 复试笔记/红果研上机模拟题及实现代码/word.txt | 21 + 复试笔记/红果研上机模拟题及实现代码/题目.pdf | Bin 0 -> 794529 bytes 25 files changed, 1693 insertions(+) create mode 100644 复试笔记/红果研上机模拟题及实现代码/1-4.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/13-18列表.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/19-25选择.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/26-32循环.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/33-40函数.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/41-47字符串与正则表达式.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/48-53序列.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/5-8.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/54-59文件操作.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/9-12.py create mode 100644 复试笔记/红果研上机模拟题及实现代码/Sort.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/bigfile.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/copy.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/folder/file1.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/folder/file2.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/folder/file3.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/folder/file4.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/folder/merge.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/names.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/new.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/new_names.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/new_word.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/numbers.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/word.txt create mode 100644 复试笔记/红果研上机模拟题及实现代码/题目.pdf diff --git a/复试笔记/红果研上机模拟题及实现代码/1-4.py b/复试笔记/红果研上机模拟题及实现代码/1-4.py new file mode 100644 index 0000000..5d2f15b --- /dev/null +++ b/复试笔记/红果研上机模拟题及实现代码/1-4.py @@ -0,0 +1,21 @@ +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/复试笔记/红果研上机模拟题及实现代码/13-18列表.py b/复试笔记/红果研上机模拟题及实现代码/13-18列表.py new file mode 100644 index 0000000..8eae411 --- /dev/null +++ b/复试笔记/红果研上机模拟题及实现代码/13-18列表.py @@ -0,0 +1,99 @@ +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/复试笔记/红果研上机模拟题及实现代码/19-25选择.py b/复试笔记/红果研上机模拟题及实现代码/19-25选择.py new file mode 100644 index 0000000..2afda4a --- /dev/null +++ b/复试笔记/红果研上机模拟题及实现代码/19-25选择.py @@ -0,0 +1,81 @@ +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/复试笔记/红果研上机模拟题及实现代码/26-32循环.py b/复试笔记/红果研上机模拟题及实现代码/26-32循环.py new file mode 100644 index 0000000..0cf73ba --- /dev/null +++ b/复试笔记/红果研上机模拟题及实现代码/26-32循环.py @@ -0,0 +1,79 @@ +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/复试笔记/红果研上机模拟题及实现代码/33-40函数.py b/复试笔记/红果研上机模拟题及实现代码/33-40函数.py new file mode 100644 index 0000000..03467e8 --- /dev/null +++ b/复试笔记/红果研上机模拟题及实现代码/33-40函数.py @@ -0,0 +1,123 @@ +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)