1.定义判断质数的函数
def isprime(a):
for i in range(2, a):
if a%i == 0:
return False
break
else:
return True
n = eval(input("请输入一个数"))
if isprime(n):
print(n,"是一个质数")
else:
print(n,"不是一个质数")
2.绝对质数
from isprime import *
s = 0
for i in range(10,100):
x = int(str(i)[::-1])
if isprime(i) and isprime(x):
print(i, end="")
s += 1
print(' ',end='')
if s%3 == 0:
print()
3.验证哥赫巴德猜想
from isprime import *
l = []
for i in range(2,100):
if isprime(i):
l.append(i)
a, b, s = 0, 0, 0
for i in range(4,100,2):
s += 1
for j in l:
for k in l:
if j+k == i:
a = k
b = j
print('{:2}={:2}+{:2}'.format(i,a,b)+'\t', end='')
if s%5 == 0:
print()
4.判断三角形类型
def sjx(a, b, c):
if a+b <= c or b+c <= a or a+c <= b:
return 0
elif a == b == c:
return 1
elif a == b != c or b == c != a or a == c != b:
return 2
elif a*a == b*b + c*c or b*b == a*a + c*c or c*c == a*a + b*b:
return 3
else:
return 4
x = eval(input())
y = eval(input())
z = eval(input())
m = sjx(x, y, z)
if m == 0:
print("不能构成三角形")
elif m == 1:
print("等边三角形")
elif m == 2:
print("等腰三角形")
elif m == 3:
print("直角三角形")
else:
print("一般三角形")
5.成语字典精确查询
def cyjl():
d = {}
f1=open("sy10//成语.txt","r",encoding="utf8")
for i in f1:
i.strip()
x = i.find(' ')
d[i[:x]] = i[x+1:]
f1.close()
return d
def jqcx(s,d):
if s not in d.keys():
print('没有此成语')
else:
print(d[s].strip())
cyzd = cyjl()
c = ''
while True:
c=input("1精确查询0退出")
if c == '0':
break
x = input('请输入成语')
jqcx(x, cyzd)
6.成语字典模糊查询
def cyjl():
f1 = open("sy10//成语.txt", "r", encoding="utf8")
d = {}
for line in f1:
cy=line[:line.find("拼音")].strip()
cyjx=line[line.find("拼音"):].strip()
d[cy]=cyjx
f1.close()
return d
def mhcx():
x = input('请输入词语')
for i in x:
for j in cyzd.keys():
if i in j:
print(j)
def jqcx():
x = input("请输入成语")
if x not in cyzd.keys():
print("成语不存在")
else:
print(cyzd[x])
cyzd = cyjl()
while True:
c=input("1精确查询2模糊查询0退出")
if c == "0":
break
if c == '1':
jqcx()
if c == '2':
mhcx()
7.成语接龙小游戏
def cyjl():
f1 = open("sy10//成语.txt", "r", encoding="utf8")
for line in f1:
cy = line[:line.find("拼音")].strip()
cyjx = line[line.find("拼音"):].strip()
cyzd[cy] = cyjx
f1.close()
def mhcx():
x = input("请输入成语")
for y in cyzd.keys():
if x in y:
print(y)
def jqcx():
x = input("请输入成语")
if x not in cyzd.keys():
print("成语不存在")
else:
print(cyzd[x])
def yx():
s, b = 0, 0
a = ''
while True:
x = input('请输入成语')
b += 1
if b != 1 and x[0] != a[-1]:
print('没有接龙,你输了')
break
if x not in cyzd.keys():
print('非法成语,你输了')
break
for i in cyzd.keys():
if x[-1] == i[0]:
print(i)
a = i
break
else:
s = 1
if s == 1:
print('你赢了')
break
else:
continue
cyzd={}
cyjl()
c=input("1精确查询2模糊查询3成语接龙0退出")
while c!="0":
if c=="1":
jqcx()
elif c=="2":
mhcx()
elif c=="3":
yx()
c=input("1精确查询2模糊查询3成语接龙0退出")