Bläddra i källkod

上传文件至 ''

master
吴思辰 3 år sedan
förälder
incheckning
31384fb921
6 ändrade filer med 123 tillägg och 0 borttagningar
  1. +10
    -0
      sy5-1.py
  2. +8
    -0
      sy5-11.py
  3. +33
    -0
      sy5-12.py
  4. +35
    -0
      sy5-13.py
  5. +18
    -0
      sy5-2.py
  6. +19
    -0
      sy5-3.py

+ 10
- 0
sy5-1.py Visa fil

@ -0,0 +1,10 @@
#定义函数getCelsius,将华氏温度转化为摄氏温度
def getCelsius(f) :
c= (f- 32) *9/5 #计算摄氏温度
return c #返回摄氏温度
f=float(input("input fahr:")) #输入华氏温度
c= getCelsius(f) #调用getCelsius求摄氏温度
print("fahr=%.1f, celsius = %.1f\n"%(f, c)); #输出结果

+ 8
- 0
sy5-11.py Visa fil

@ -0,0 +1,8 @@
def isLeap(year):
if((year%4==0 and year%100!=0)or(year%100==0 and year%400==0)):
return True;
else:
return False;
for i in range(1900,2022):
if(isLeap(i)):
print(f'{i}',end='\t')

+ 33
- 0
sy5-12.py Visa fil

@ -0,0 +1,33 @@
def isTgs(n):#判断一个数是否是同构数,是则返回True,不是则返回False
m=n*n
return str(m)[-len(str(n)):]==str(n)
def check(instr):#检查instr是否合法,合法则返回字符串对应的整数,不合法返回错误代码。
if len(instr)>2 or len(instr)<1:
return -1
elif not instr.isnumeric() : #输入的是非数字字符
return -2
else:
return int(instr)
def getTgs():#输入一组数据到-1结束,将其中1~2位的同构数加入到一个列表后返回列表
L=[]
s=input().strip()
while s!="-1":
n=check(s)
if n>0 and isTgs(n):
L.append(n)
s=input().strip()
return L
def main():#获取同构数,输出有序的不重复的同构数
L=getTgs()
if len(L)==0:
print("没有同构数")
else:
L= list(set(L)) #去重复
L.sort()
print("同构数有:",end="")
for i in L:
print(i,end=' ')
main()

+ 35
- 0
sy5-13.py Visa fil

@ -0,0 +1,35 @@
def isRose(n):#判断n是否是四位玫瑰数,是返回True,不是返回False
cnt=0
for i in range(0,4):
temp=int(str(n)[i])
cnt+=pow(temp,4)
return cnt==n;
def checkNumber(n):#检查字符串n是不是构成4位数,是返回整数n,不是返回-1
if(len(str(n))==4 and str(n).isnumeric):return int(n)
else: return -1
def printRose(a,b):#输出区间【a,b】之间所有的四位玫瑰数,不存在输出提示信息
n=0
for num in range(a,b+1):
if isRose(num):
print(num)
n=n+1
if n==0:
print("此区间没有四位玫瑰数")
def main():
a=checkNumber(input())
if a==-1:
print("第一个数不是四位数")
return
b=checkNumber(input())
if b==-1:
print("第二个数不是四位数")
return
if a<=b:
printRose(a,b)
else:
print(f'a>b,区间内没有四位玫瑰数!')
main()

+ 18
- 0
sy5-2.py Visa fil

@ -0,0 +1,18 @@
def filterLst(L):
outL=[]
for x in L:
for i in range(x+1):#可改进
if i*i==x:
outL.append(x)
#break;
return outL #first
s=input()
data=s.split(',')#third
for i in range(len(data)):
data[i]=int(data[i])
result=filterLst(data)#for
if len(result)!=0:
print ("完全平方数有",result)
else:
print ("无符合要求的数!")

+ 19
- 0
sy5-3.py Visa fil

@ -0,0 +1,19 @@
from math import sqrt
def isPrime(n):
m=int(sqrt(n))
for i in range(2,m+1):
if n%i ==0:
return False
return True
def countPrimes(start,end):
cnt=0
for i in range(start,end+1):
if(isPrime(i)):
cnt+=1;
return cnt
#主程序
for start in range(1,1000,100):
print("%3d-%4d%d个素数"%\
(start,start+99,countPrimes(start,start+99)))

Laddar…
Avbryt
Spara