第6章函数-1 使用函数求特殊a串数列和
给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和。
def fn(a,n):
return(sum([int(str(a)*i)for i in range(1,n+1)]))
a,b=input().split()
s=fn(int(a),int(b))
print(s)
第6章函数-2 使用函数求素数和
使用函数求素数和
prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False.
PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。
def isPrime(num):
num=int(num)
for i in range(2,num):
if num%i==0 :
return False
if(num!=1):
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
sum+=i
return sum
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
第6章函数-3 使用函数统计指定数字的个数
本题要求实现一个统计整数中指定数字的个数的简单函数。
CountDigit(number,digit )
其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
def fib(n):
if(n==0)or(n==1):
return 1
else:
return fib(n-1)+fib(n-2)
def PrintFN(m,n):
a=[]
for i in range(25):
if m<=fib(i)<=n:
a.append(fib(i))
return a
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))
第6章函数-4 使用函数输出指定范围内Fibonacci数的个数
本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。
所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
def fib(n):
if(n==0)or(n==1):
return 1
else:
return fib(n-1)+fib(n-2)
def PrintFN(m,n):
a=[]
for i in range(25):
if m<=fib(i)<=n:
a.append(fib(i))
return a
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))
PTA习题答案记录