判断1-100的质数
def zhishu(n):
for i in range(2,n):
if n%i==0 :
return False
return True
print([i for i in range(2, 100) if zhishu(i)])
腾讯题:输出自身质数相加等于自身的质数的数量和对
def zhishu(n):
for i in range(2,n):
if n%i==0 :
return False
return True
try:
num = str(input("输入数字"))
num = int(num)
if 3<=num < 1000:
mylist1 = []
mylist1.append({i for i in range(2, num) if zhishu(i)})
count = 0
ps=[]
for i in mylist1[0]:
j=num-i #正反循环,因为判断两数和,所以正反循环在一个里面即可
if i+i==num :
count+=1
print(i,i)
ps.append(i)
elif i<j and j in mylist1[0] and i+j==num:
count+=1
print(i,j)
ps.append(i)
ps.append(j)
print(count,"对")
print(sorted(ps))
else:
print("输入错误1:范围错误")
except:
print("输入错误2:内容错误")
将字典中的大小写合并
d=dict(a=2,b=1,c=2,B=9,A=10)
print({x.lower():d.get(x.lower(),0)+d.get(x.upper(),0) for x in d.keys()})
其中.get(A,0)
如果找到A 就返回A对应的value,未找到则返回0,除非保证都能找到,不然得写0
f=sin
f=sin()
区别:第一个可以是f(3) 第二个只是sin()的返回值
def fun(x,y,fc):
return fc(x),fc(y)
print(fun(-1,-2,abs))