浙大版《Python 程序设计》题目集函数题

第6章函数-1 使用函数求特殊a串数列和

给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和

函数接口定义:

fn(a,n)
其中 a 和 n 都是用户传入的参数。 a 的值在[1, 9]范围;n 是[1, 9]区间内的个位数。函数须返回级数和
裁判测试程序样例:

/* 请在这里填写答案 */

a,b=input().split()
s=fn(int(a),int(b))
print(s)

输入样例:
在这里给出一组输入。例如:

2 3

输出样例:
在这里给出相应的输出。例如:

246

答案样例:

def fn(a,b):
    temp = 0
    s = 0
    for i in range(b):
        temp += a
        a *=10
        s += temp
    return s

第6章函数-2 使用函数求素数和

使用函数求素数和

prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。

函数接口定义:
在这里描述函数接口:
prime§,返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
裁判测试程序样例:

扫描二维码关注公众号,回复: 12905653 查看本文章
/* 请在这里填写答案 */

m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))

输入样例:
在这里给出一组输入。例如:

1 10

输出样例:
在这里给出相应的输出。例如:

17

答案样例:

def PrimeSum(m,n):
    flag = True
    l = []
    for i in range(m,n+1):
        for j in range(2,int(i**0.5)+1):
            if i%j == 0:
               flag = False
               break
        else:
            if i != 1:
                l.append(i)
    return sum(l)

第6章函数-3 使用函数统计指定数字的个数

本题要求实现一个统计整数中指定数字的个数的简单函数。

CountDigit(number,digit )

其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。

函数接口定义:
在这里描述函数接口。例如:
CountDigit(number,digit ),返回digit出现的次数
裁判测试程序样例:

/* 请在这里填写答案 */

number,digit=input().split()
number=int(number)
digit=int(digit)
count=CountDigit(number,digit )
print("Number of digit 2 in "+str(number)+":",count)

输入样例:
在这里给出一组输入。例如:

-21252 2

输出样例:
在这里给出相应的输出。例如:

Number of digit 2 in -21252: 3

答案样例:

def CountDigit(a,b):
    a = str(a)
    b = str(b)
    count = 0
    for i in a:
        if i == b:
            count += 1
    return count

第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数。

函数接口定义:
在这里描述函数接口。例如:
fib(n),返回fib(n)的值
PrintFN(m,n),用列表返回[m, n]中的所有Fibonacci数。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

/* 请在这里填写答案 */

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))

输入样例:
在这里给出一组输入。例如:

20 100 6

输出样例:
在这里给出相应的输出。例如:

fib(6) = 13
4

答案样例:

def fib(n):
    a,b = 1,1
    i = 0
    while i<n:
        a,b = b,a+b
        i+=1
    return a

def PrintFN(a,b):
    i = 0
    l = []
    while True:
        if fib(i)>b:
            break
        if fib(i)>=a:
            l.append(fib(i))
        i+=1
    return l

第6章函数-5 使用函数求余弦函数的近似值

本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):

cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?

函数接口定义:funcos(eps,x ),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。

函数接口定义:
函数接口:
funcos(eps,x ),返回cos(x)的值。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

/* 请在这里填写答案 */

eps=float(input())
x=float(input())
value=funcos(eps,x )
print("cos({0}) = {1:.4f}".format(x,value))

输入样例:
在这里给出一组输入。例如:

0.0001
-3.1

输出样例:
在这里给出相应的输出。例如:

cos(-3.1) = -0.9991

答案样例:

from math import factorial
def funcos(e,x):
    s = 0
    flag = 0
    i = 0
    while x**i/factorial(i) >= e:
        s += (-1)**flag*x**i/factorial(i)
        i += 2
        flag += 1
    return s

第6章函数-6 缩写词

缩写词是由一个短语中每个单词的第一个字母组成,均为大写。例如,CPU是短语“central processing unit”的缩写。

函数接口定义:
acronym(phrase);
phrase是短语参数,返回短语的缩写词
裁判测试程序样例:

/* 请在这里填写答案 */
phrase=input()
print(acronym(phrase))

输入样例:

central  processing  unit

输出样例:

CPU

答案样例:

def acronym(n):
    n = n.split()
    s = ''
    for i in n:
        s += i[0]
    return s.upper()

猜你喜欢

转载自blog.csdn.net/hmh4640219/article/details/113729764
今日推荐