1、计算 N!
def mian(n):for i in range(1,n):n*=ireturn n
2.计算并返回任意多个整数的和(不能用for循环)·······
def mian(*x):return sum(x)
3.返回item在lst中第一次的位置
def main(lst,item):i=0for num in lst:if num==item:return ii+=1return '不存在'
4.返回列表包含大于或等于所有整数平均值的整数
def main(lst):avg=sum(lst)/len(lst)lst2=[]for i in lst:if i>=avg:lst2.append(i)return lst2
5.返回一个元组,第一个元素为p整除q的商,第二个元素为p对q的余数
def main(p,q):return (int(p/q),p-q*int(p/q))
6.返回正整数num各位数字之和
def main(num):s=str(num)ls=list(map(int,s))return sum(ls)
7.列表去重
def main(lst):return list({}.fromkeys(lst).keys())
8.列表字符串转化为小写
def main(lst): for in range(len(lst)): lst[i]=lst[i].lower() return lst
9.列表字符串排序
def main(lst):lst.sort(key=lambda ele:len(ele),reverse=True)return lst
10.计算20,30,40的阶乘
from functools import reducefrom operator import muldef main(n):return reduce(mul,range(1,n+1))print(main(20))print(main(30))print(main(40))
11.向量的内积
def main(vector1,vector2):return sum(list(map(lambda num1,num2:num1*num2,vector1,vector2)))
12.最长字符串
def main(lst):return max(lst,key=len)
13.去除列表中的0
def main(lst):return list(filter(lambda x:x!=0,lst))
14.查找列表绝对值最大
def main(lst):Max=0for i in range(len(lst)):if abs(lst[Max]<abs(lst[i])):Max=ireturn lst[Max]
15.删除偶数
def main(lst):return [i for i in lst if i%2]
16.字符串填充
def main(s):return s.center(20."#")
17.字符串数字汉字转换
def main(s):nums=['零','一','二','三','四','五','六','七','八','九']s2=''for i in range(len(s)):if s[i].isdigit():num=int(s[i])s2+=nums[num]continues2+=s[i]return s2
18.表中重复元素
def main(lst):# 数据很水头两行可加可不加if len(lst)==1:return 1set_lst=set(lst)if len(set_lst)==len(lst):return 1elif len(set_lst)==1:return 0else:return 2
19.回文
import redef main(s):s=re.sub('^A-Za-z','',s)return s[::-1]==s
20.接受任意字符串s,要求返回最多的前三个字符
from collections import Counterdef main(s):c=Counter(s)c=Counter(dict(counts.most_common(3)))return list(counts)
21.最大素数
def isPrime(num):for i in range(2,n-1):if num%i==0:return Falsereturn Truedef main(n):i=nwhile i!=0if isPrime(i):return ii-=1return i
22.组合数C(n,i)
def main(n,i):nums1,num2=1,1i=min(i,n-i)for x in range(1,i+1):nums1 *=xnums2 *=x+n-ireturn nums2//nums1
23.用map()计算a+aa+aaa
def main(n,a):l=list(range(1,n+1))return sum(list(map(lambda x:int(str(a)*x),l)))
24.读取文件用逗号分隔开的整数*10
def main():f=open('data24.txt')s=f.read().split(',')return list(map(lambda x:int(x)*10,s))print(main())
25.集合的并集
def main(lst):l=set()for i in lst:l=l|ireturn l
26.计算sin()
from math import sin radiansdef main(lst):return list(map(lambda x:sin(radians(x)),lst))
27.时间间隔
from datetime import datedef main(year1,month1,day1,year2,month2,day2)return abs((date(year1,month1,day1)-date(year2,month2,day2)).days)
28.闰年
def main(year):if year%400==0 or (year%4==0 and year%100 !=0):return 'yes'return 'no'
29.max(func(x))
def main(func,lst):return max(list(map(func,lst)))
30.截尾平均数,保留一位小数
def main(tup):return round((sum(tup)-max(tup)-min(tup))/(len(tup)-2),1)
31.斐波那契
def main(n):a,b=1,1if(n==1):return 1sum=1for i in range(n-1):t=aa=bb+=tsum+=areturn sum
32.字符串*n+传参默认值设置
def main(s,n=3):return s*n
33.循环左移
def main(s, n):return s[n:]+s[0:n]
34.模拟整数类型操作
class Number:def __init__(self, value):self.value = valuedef __add__(self, another): return self.value + another.valuedef __str__(self):return str(self.value)def main(x, y):return x+y
35.模拟整数/实数部分操作
class Number:def __init__(self, value):if type(value) != int and type(value) != float:self.__value = 0else:self.__value = valuedef __set(self, value):if type(value) == int or type(value) == float:self.__value = valuedef __get(self):return self.__valuevalue = property(__get, __set)def main(x, y):obj = Number(x)obj.value = yreturn (type(obj), obj.value)
36.并联
def main(*para):sum=0for i in para:sum+=1/ireturn round(1/sum,1)
37.黑洞数
def main(n):n=str(n)max=""min=""for it in sorted(n,reverse = True):max +=str(it)for it in sorted(n):min+=str(it)if int (max) -int(min)==int(n):return Trueelse: return False
38.水仙花数
def main(n):n_str=str(n)sum=0l=len(n_str)for i in n_str:sum+=int(i)**lif sum==n:return Trueelse:return False
39.列表绝对值之和
def main(lst):return sum(list(map(abs,lst)))
40.返回不同编码的字符串,如果不是字符串返回‘参数必须是字符串’
def main(s):try:return(s.encode("UTF-8",s.encode("GBK"))except:return '参数必须是字符串'
41.字符串包含
def main(s1,s2,*s3)if s2 not in s1:return Falsefor s in s3:if s not in s1:return Falsereturn True
42.计算圆的面积
from math import pi as PIdef main(r):if isinstance(r,(int)) and r>0:return round(PI*r*r,2)else:return '参数必须是大于0的整数或实数'
43.正整数周围相接能够组成的最大的数
from itertools import permutationsdef main(lst):max=0lst=list(map(str,lst))for i in permutations(lst):a=''.join(i)re=eval(a)if re>max:max=rereturn max
44.n*n棋盘放米
def main(n):return 2**(n*n)-1
45.返回变成小写之后最大的字符串
def main(lst):try:L=[x.lower() for x in lst if isinstance(x,str)]return lst[L.index(max(L))]except:return '数据格式不正确'
46.众数
def main(lst):list_set=set(lst)frequency_dict={} for i in list_set:frequency_dict[i]=lst.count(i)max_frequency=max(frequency_dict.values())for key,value in frequency_dict.items():if value==max_frequency:m=keyreturn m
47.余弦定理求C
from math import cos,radiansdef main(a,b,theta):try:if a<=0 or b<=0:return '数据不对'return round((a*a+b*b-2*a*b*cos(radians(theta)))**0.5,1)except:return '数据不对'
48.列表差
def main(vector1,vector2):try:if len(vector1)!=len(vector2):return'数据不对'return sum(list(map(lambda x,y:abs(x-y),vector1,vector2)))except:return '数据不对'
49.成绩字母转换
def main(score):try:if score>=90 and score<=100:return 'A'elif score>=80 and score <90:return 'B'elif score>=70 and score <80:return 'C'elif score>=60 and score <70:return 'D'elif score>=0 and score <60:return 'F'else:return '数据不对'except:return '数据不对'
50.小于n的最大斐波那契数
def main(n):a,b=1,1while b<n:t=aa=bb=t+breturn a
51.鸡兔同笼
def main(n,m):y=(m-2*n)/2x=(4*n-m)/2if y-int(y) or x-int(x) or x<0 or y<0:return '数据不对'return int(x),int(y)
52.列表中最大值的位置
def main(lst):m= max(lst)l=[]for i in range(len(lst)):if lst[i]==m:l.append(i)return l
53.文件后+_new
from os.path import splitextimport osdef main(s):name,bac=os.path.splitext(s)name+='_new'return name+bac
54.列表元素相加等于10
from itertools import combinationsdef main(lst):l=[]for i in combinations(lst,3):if i[0]+i[1]+i[2]==10:l.append(i)return l
55.返回只出现一次的字符
def main(s):s1=''for i in s:if s.count(i)==1:s1+=ireturn s1
56.列表数据重复
def main(lst):set_lst=set(lst)if len(set_lst)==len(lst):return 1elif len(set_lst)==1:return 0else:return 2
57.去除多余空格
import redef main(s):s=s.strip()s=re.sub(' +',' ',s)return s
58返回最长的数字字符串
from re import findallimport redef main(s):try:nums=re.findall(r'\d+',s)nums.sort(key=lambda num:len(num),reverse=True)return nums[0]except:return '没有数字'
59.列表最大公约数
from math import gcdfrom funcrools import reducedef main(lst):return reduce(gcd,lst)
60.查找docx文件关键字
from docx import Documentdef main():dt=Document('data60.docx')for i in range(len(dt.paragraphs)):if'山东' and '烟台' in dt.paragraphs[i].text:return dt.paragraphs[i].textprint(main())
61.docx整数相加
from docx import Documentdefmain(): dt=Document('data60.docx') sum=0 table=dt.tables table=table[0] for i in range(0,len(table.rows)): for j in range(0,len(table.row_cells(i)): sum+=int(table.cell(i,j).text) return sum print(main())
62.千分位的逗号
def main(s): try: l=len(s) if l<=3: return int(s) i=l-4 while i>=0: if s[i]!=',': return '数据错误' i-=4 s=s.replace(',','') return int(s) execpt: return '数据错误’
63.去除前导0
def main(s): a='' s1='' for i in s: if str.isdigit(i): a+=i else: s1+=str(int(a)) s1+=i a=''return s1+str(int(a))
64.日期补0
def main(s): s1='' s1+=s[0:5] a='' for i in range(5,len(s)): if s[i].isdigit(): a+=s[i] else: s1+=a.rjust(2,'0') s1+=s[i] a='' return s1+a.rjust(2,'0')
65.插入千分符
def main(num):s=str(num)l=len(s)if l<=3:return str(num)i=l%3s1=''if i:s1=s[0:i]s1+=','while i<l:s1+=s[i:i+3]s1+=','i+=3return s1.rstrip(',')
66.整数拆分
def main(num):try:num=int(num)s=str(num)s1=''for i in s:s1+=is1+=','return s1.rstrip(',')except:return '数据错误'
67.>=start第num个素数
def main(start,num):while num>0:if isPrime(start):num-=1start+=1return start-1
68.丑数
def main(num):while num % 2 == 0:num = num / 2while num % 3 == 0:num = num / 3while num % 5 == 0:num = num / 5if num == 1:return Trueelse:return False
69.正整数按各位数字相加之和大小排序的列表
def f(num):s=0while num:s+=num%10num/=10return sdef main(lst):lst.sort(key=f)return lst
70.奇数位,偶数位之和
def main(lst):odd=sum(lst[::2])even=sum(lst[1::2])return (even,odd)
71.判断列表中是否为实数
def main(lst):try:l=list(map(lambda x:int(x),lst))return Trueexcept:return False
72.i>8&i%2==0
def main(lst):try:l=[]for i in lst:if isinstance(i,int):if i>8 and i%2==0:l.append(i)else:return '数据不符合要求'except:return '数据不符合要求'
73.字符串比对
def main(s1,s2):num=0for i,j in zip(s1,s2):if i==j:num+=1return num
74.字符串拼接
def main(s1,s2):m=min(len(s1),len(s2))for i in range(m,0,-1):if s1[-i:]==s2[:i]:return s1+s2[i:]return s1+s2
75.多个数的最大公约数
from math import gcdfrom functools import reducedef main(*integers):try:l=len(integers)if l==0: return '必须提供至少一个整数'return reduce(gcd,integers)except:return '必须都是整数'
76.二进制连续的0
import mathdef main(n):return int(math.log2(n&-n))
77.小猴吃桃
def f(n):if n==1:return 1else:return f(n-1)*2+2def main(n):return f(n)
78.计算颜色()
from operator import itemgetterfrom docx import Documentfrom docx.shared import RGBColordef main():word=Document('data78.docx')colors={}for p in word.paragraphs:for r in p.runs:color=r.font.color.rgbif color not in (RGBColor(0,0,0),None):colors[color]=colors.get(color,0)+1colors=sorted(colors.items(),key=itemgetter(1),reverse=True)return tuple(map(str,map(itemgetter(0),colors[:3])))print(main())
79.连乘
from operator import mulfrom functools import reducedef main(lst):return reduce(mul,lst)
80.|a-b|
from operator import subdef main(a,b):return sum(map(abs,map(sub,a,b)))
81.a//b,a%b
def main(a,b):return(a//b,a%b)
82.字符串s2在s1中的个数
def main(s1,s2):l=list(set(list(s2)))sum=0for i in l:sum+=s1.count(i)return sum
83,返回闭区间所有整数之和
def main(start,end)return sum(range(start,end),end)
84.返回绝对值的最大整数
def main(data):return max(data,key=abs)
85.中位数
def main(data):data_local=data[:]data_local=sorted(data_local)return data_local[len(data_local)//2]
86.素数
def main(num):for n in range(2,num+1)[::-1]:f=1for i in range(2,int(n**0.5)+1):if n%i==0:f=0breakif f:return n
87.全局变量修改
x=3def main(num):global xx=numreturn globals()['x']
88.返回圆的面积
from math import pi as PIdef main(r):if isinstance(r,(int,float)) and r>0:return round(PI*r*r,3)else:return '半径必须为大于0的整数或实数'
89.返回对应位置字符相同的数量
def main(origin, userInput):return sum(map(lambda oc,uc:oc==uc,origin,userInput))
90.约瑟夫环(因为不会用cycle,直接按思路来过了)
def main(lst,k):d=k-1for i in range(len(lst)-1):del lst[d]d=(d+k-1)%len(lst)return lst[0]
91.替换字符
def main(s): s=s.replace('a','A') s=s.replace('e','E') s=s.replace('i','I') s=s.replace('u','U') return s
92.计算字符串左边空格
def main(s):i=0while s[i]=='' and i<len(s):i+=1return i
93.计算第几天
def is_a_leap_year(year):if year % 100 != 0 and year % 4== 0:return Trueif year % 100 == 0 and year %400 ==0:return Truereturn Falsedef main(year,month,day):leap_year =is_a_leap_year(year)if leap_year:day_list =[0,31,29,31,30,31,30,31,31,30,31,30,31]else:day_list =[0,31,28,31,30,31,30,31,31,30,31,30,31]for i inrange(month):day+= day_list[i]return day
94.判断升序
def main(data):pre=0for i in range(1,len(data)):if data[pre]>data[i]:return Falsepre+=1return True
95.拼音排序
from pypinyin import pinyindef main(s):s=sorted(s,key=lambda c:pinyin(c))ans=''for i in s:ans+=ireturn ans
96.密码判断
def main(pwd):l=len(pwd)if l<6:return 'weak'check = [0,0,0,0]for char in pwd:if char.islower():check[0] = 1if char.isupper():check[1] = 1if char.isdigit():check[2] = 1if not (char.isalpha()|char.isdigit()|char.isspace()):check[3] = 1if check_num==1:return 'weak'elif check_num==2:return 'below_middle'elif check_num==3:return above_middle'else:return 'strong'
97.大小写判断
def main(s):a=0b=0for ch in s:if ch.isupper():a+=1if ch.islower():b+=1return (a,b)
98.多项式计算
def main(factors,x)coeffs=factorsn = len(coeffs)exponents = range(n-1, -1, -1)powers_of_x = [x**i for i in exponents] return reduce(lambda acc, pair: acc + pair[0]*pair[1], zip(coeffs, powers_of_x), 0)
99.上台阶
def main(n):if n<3:return nif n==3:return 4x,y,z=1,2,4for i in range(4,n+1):t=x+y+zz=yy=zz=t return z
100.文件最长一行
def main():with open("data100.txt") as file:l=file.readlines()return max(list(map(lambda s:len(s),l)))print(main())