Python练习(函数)

目录

6-1 使用函数求素数和

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-2 使用函数输出指定范围内Fibonacci数的个数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-3 人民币美元双向兑换

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

6-4 菲波那契数列

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-5 回文数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

输入样例:

输出样例:

6-6 编写函数判断水仙花数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-7 编写函数求特殊a串和

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-8 写函数求满足要求三位数的个数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-9 写函数判断质数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-10 编写函数计算圆面积

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

 

6-11 编写函数统计指定数字的个数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-12 编写函数计算薪资

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-13 整数数位和(高教社,《Python编程基础及应用》习题8-3)

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-14 编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) (高教社,《Python编程基础及应用》习题8-4)

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-15 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-16 打印指定范围内的全部回文素数(高教社,《Python编程基础及应用》习题8-7)

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-17 两个数的最大值

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-18 求素数

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

输入样例3:

输出样例3:

6-19 计算工资

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

输入样例3:

输出样例3:

6-20 汉诺塔问题

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

6-21 兔子繁殖

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

6-22 成绩绩点计算

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

6-24 求多项式的值

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

 

6-25 python函数:计算任意个数的乘积

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-26 python函数:求m到n之和

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-27 python函数:递归求Fibonacci数列

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

 

6-28 python函数:对字符串数值类型判断

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

输入样例:

输出样例:

6-30 编写生成斐波那契数列的函数并调用。(升级版v2.0)

函数接口定义:

裁判测试程序样例:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

输入样例3:

输出样例3:

6-31 使用递归法对整数进行因数分解,输出成其质因数相乘的形式。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-32 本题是一个demo函数,通过本程序体会位置参数的特点。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-33 本题是一个demo函数,通过本程序体会默认值参数的特点。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-34 本题是一个demo函数,通过本程序体会关键参数的特点。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-35 编写函数,接收字符串参数,返回一个元组,其中第一个元素为大写字母个数,第二个元素为小写字母个数。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-36 编写函数,接收一个正整数t为参数,打印杨辉三角前t行。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-37 编写函数,接收圆的半径作为参数,返回圆的面积。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-38 编写函数,接收参数a和n,计算并返回形式如a+aa+aaa+aaaa+…+aaa…aaa的表达式前n项的值,其中a为小于10的自然数。

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-39 特殊的数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

 

6-40 偶数是两个素数的和

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-41 函数的定义与调用

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-42 接收n个数字,求这些参数之和

函数定义:

裁判测试程序样例:

输入样例:

输出样例:

6-43 编写函数,判断用户传入的列表长度并完成切片

函数定义:

裁判测试程序样例:

输入样例:

输出样例:

6-42 输出闰年

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

 

6-43 使用函数统计数字字符在某数字中出现的个数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-44 python函数:求两个数的和及差

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:

6-45 实现isOdd函数

函数接口定义:

裁判测试程序样例:

输入样例:

输出样例:


6-1 使用函数求素数和

分数 20

全屏浏览

切换布局

作者 陈春晖

单位 浙江大学

使用函数求素数和

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

函数接口定义:

 

在这里描述函数接口: prime(p),返回True表示p是素数,返回False表示p不是素数 PrimeSum(m,n),函数返回素数和

裁判测试程序样例:

 

/* 请在这里填写答案 */ m,n=input().split() m=int(m) n=int(n) print(PrimeSum(m,n))

输入样例:

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

1 10

输出样例:

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

17
def prime(p):
    if p==1:
        return False
    for i in range(2,p):
        if p%i==0:
            return False
    return True

def PrimeSum(m,n):
    sum=0
    for i in range(m,n+1):
        if prime(i):
            sum+=i
    return sum

 

6-2 使用函数输出指定范围内Fibonacci数的个数

分数 20

全屏浏览

切换布局

作者 陈春晖

单位 浙江大学

本题要求实现一个计算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):
    list=[1,1]
    i=1
    while i<n:
        list.append(list[i]+list[i-1])
        i+=1
    return list[i]

def PrintFN(m,n):
    list=[1,1]
    i=1
    while list[i]<=n:
        list.append(list[i]+list[i-1])
        i+=1
    list1=[]
    for j in range(0,len(list)):
        if list[j]>=m and list[j]<=n:
            list1.append(list[j])
    return list1

6-3 人民币美元双向兑换

分数 10

全屏浏览

切换布局

作者 郭晓曦

单位 集美大学

本题要求实现一个人民币与美元的双向兑换函数change(money),可实现1美元=6.709人民币的双向兑换。输出兑换的结果保留2位小数。

函数接口定义:

在这里描述函数接口。例如:
change( money )

其中 money都是用户传入的参数,表示待兑换的钱数。

裁判测试程序样例:

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

x = input()

change(x)

输入样例1:

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

$1

输出样例1:

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

1美元 = 6.71人民币

输入样例2:

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

¥1

输出样例2:

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

1人民币 = 0.15美元
def change( money ):
    qian=0
    if money[0]=='$':
        qian=int(money[1:])*6.709
        print('%s美元 = %.2f人民币'%(money[1:],qian))
    else:
        qian=int(money[1:])*(1/6.709)
        print('%s人民币 = %.2f美元'%(money[1:],qian))

 

6-4 菲波那契数列

分数 20

全屏浏览

切换布局

作者 hanjp

单位 杭州电子科技大学

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数是多少。
输入两个正整数a和b(1<=a<b<=100)
输出菲波那契数列的第a项到第b项。

函数接口定义:

fib ( n )

n是传入的参数。 n 的值不超过100的范围;函数须返回列表,列表的第i项存放数列的第i项。

裁判测试程序样例:
 

/* 请在这里填写答案 */ a,b=[int(x) for x in input().split()] f=fib(b) for i in range(a,b+1): print(f[i],end=' ')

输入样例:

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

4 6
输出样例:

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

3 5 8 
def fib(n):
    list=[0,1,1]
    for i in range(2,n+1):
        list.append(list[i]+list[i-1])
    return list

 

6-5 回文数

分数 10

全屏浏览

切换布局

作者 李体新

单位 保定学院

本题要求实现一个函数,判断某整数是否是回文数,如果是,返回True,否则返回False。回文数指的是,若某整数正着读和倒着读都一样,则称该数为回文数。比如8778、12321等。

函数接口定义:

def isHuiwen(n)

其中参数n是任意整数。

裁判测试程序样例:
/* 请在这里填写答案 */
n = int(input())
if isHuiwen(n):
    print("yes")
else:
    print("no")


输入样例:
12321
输出样例:
yes

输入样例:

1232

输出样例:

no
def isHuiwen(n):
    n=str(n)
    n1=n[::-1]
    if n1==n:
        return True
    else:
        return False

6-6 编写函数判断水仙花数

分数 10

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

给定一个三位数n,要求编写函数isflower(n)判断n是否为水仙花数,如果是,则返回True,否则返回False。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。

函数接口定义:

 

在这里描述函数接口。例如: isflower (n)

其中 n 是传入的参数,表示需要判断的三位数。 n 的值的范围为[100,999]。

裁判测试程序样例:
 

/* 请在这里填写答案 */ n = eval(input()) if isflower(n)==True: print('Yes') else: print('No')

输入样例:

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

371
输出样例:

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

Yes

 

def isflower(n):
    sum=0
    n1=n
    while n!=0:
        a=n%10
        sum+=a*a*a
        n//=10
    if sum==n1:
        return True
    else:
        return False

 

6-7 编写函数求特殊a串和

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

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

函数接口定义:

 

在这里描述函数接口。例如: fn(a,n)

其中 a 和 n 都是用户传入的参数。 a 的值在[1,9]范围;n 是[1,9]区间内的个位数。函数须返回级数和

裁判测试程序样例:
 

在这里给出函数被调用进行测试的例子。例如: /* 请在这里填写答案 */ n,a=list(map(int,input().split())) s=fn(a,n) print (s)

输入样例:

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

3 2
输出样例:

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

246
def fn(a,n):
    sum=0
    k=0
    for i in range(0,n):
        k=k*10+a
        sum+=k
    return sum

 

6-8 写函数求满足要求三位数的个数

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

要求实现一个函数,统计给定区间内的三位数中至少有两位数字相同的完全平方数(如144、676)的个数。

函数接口定义:

 

search(n);

其中传入的参数n是一个三位数的正整数。函数search返回[101, n]区间内所有满足条件的数的个数。

裁判测试程序样例:
 

/* 请在这里填写答案 */ n = int(input()) cnt = search(n) print ('count={}'.format(cnt))

输入样例:
500
输出样例:
count=6
def search(n):
    cnt=0
    for i in range(11,32):
        if i*i<=n:
            k=str(i*i)
            if k[0]==k[1] or k[0]==k[2] or k[1]==k[2]:
                cnt+=1
    return cnt

 

6-9 写函数判断质数

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

实现一个函数,判断参数是否是质数,是的话返回True,否则返回False

函数接口定义:

 

def isPrime(num);

参数num表示要判断的正整数。返回值为True表示是质数,返回False表示不是质数。

裁判测试程序样例:
 

/* 请在这里填写答案 */ num=eval(input()) if isPrime(num): print ('yes') else: print ('no')

输入样例:
97
输出样例:
yes
def isPrime(num):
    if num<2:
        return False
    for i in range(2,num):
        if num%i==0:
            return False
    else:
        return True

 

6-10 编写函数计算圆面积

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

1.要求编写函数getCircleArea(r)计算给定半径r的圆面积,函数返回圆的面积。

2.要求编写函数get_rList(n) 输入n个值放入列表并将列表返回

函数接口定义:

 

getCircleArea(r); get_rList(n);

传入的参数r表示圆的半径,getCircleArea函数返回圆的面积。参数n表示列表中元素的个数,函数get_rList返回一个输入的列表。注意:圆周率请使用3.1415926

主程序取rList中所有元素,对每个元素作为半径参数调用getCircleArea,并按指定格式输出。

裁判测试程序样例:
 

/* 请在这里填写答案 */ n = int(input()) rList = get_rList(n) for e in rList: print ('{:.3f}' .format( getCircleArea(e)))

输入样例:
3
1
2
3
输出样例:
3.142
12.566
28.274
def getCircleArea(r):
    return 3.1415926*r*r
def get_rList(n):
    list=[]
    for i in range(0,n):
        k=int(input())
        list.append(k)
    return list

 

6-11 编写函数统计指定数字的个数

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

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

CountDigit(number,digit )

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

函数接口定义:

函数接口定义:

 

int CountDigit (number, digit );

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

裁判测试程序样例:
 

/* 请在这里填写答案 */ number,digit = list(map(int,input().split())) cnt = CountDigit(number,digit) print ("Number of digit {0} in {1}: {2}".format(digit,number,cnt))

输入样例:
-21252 2
输出样例:
Number of digit 2 in -21252: 3

 

def CountDigit(number, digit ):
    cnt=0
    if number<0:
        number=-number
    while number!=0:
        
        if number%10==digit:
            cnt+=1
        number//=10
    return cnt

6-12 编写函数计算薪资

分数 5

全屏浏览

切换布局

作者 王祥荣

单位 宁波财经学院

某公司销售员底薪为5000,销售业绩与利润提成的关系如下表所示(计量单位:元)

f9eefd29-ddcc-43a7-90a1-b90217947f3b.png

编写函数,计算员工月薪。

函数接口定义:

 

salary(sales)

其中 参数 sales表示员工的月销售业绩。

裁判测试程序样例:
 

/* 请在这里填写答案 */ sales = eval(input()) print ("{:.2f}".format(salary(sales)))

输入样例:
50800
输出样例:
15160.00
def salary(sales):
    sum=5000
    if sales<=10000:
        return sum
    elif sales<=20000:
        return sum+sales*0.1
    elif sales<=50000:
        return sum+sales*0.15
    elif sales<=100000:
        return sum+sales*0.2
    else:
        return sum+sales*0.25

 

6-13 整数数位和(高教社,《Python编程基础及应用》习题8-3)

分数 4

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

编写一个函数,该函数接受一个正整数作为参数,返回该整数的各位数字之和。

函数接口定义:

 

def digitSum(v)

v为输入整数(正整数);
函数返回一个整数,其值为v的各位数字之和。

裁判测试程序样例:
 

a = int(input()) print(digitSum(a))

输入样例:
291
输出样例:
12
def digitSum(v):
    sum=0
    while v!=0:
        sum+=v%10
        v//=10
    return sum

 

6-14 编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) (高教社,《Python编程基础及应用》习题8-4)

分数 4

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

编写函数计算f(i) = 1/2 + 2/3 + 3/4 + ... + i/(i+1) 。

函数接口定义:

 

def f(i)

i为正整数,返回结果浮点数。

裁判测试程序样例:
 

v=int(input()) print("%.4f" % f(v))

输入样例:
5
输出样例:
3.5500

 

def f(i):
    sum=0
    for j in range(1,i+1):
        sum+=j/(j+1)
    return sum

6-15 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)

分数 4

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)
 

函数接口定义:

 

def caculate(*t)

打*号的参数t接受多个参数成员,参数成员预期为整数或浮点数类型。

裁判测试程序样例:
 

s = input().split() #接受输入字符串并按空格分拆,存入列表,列表成员为字符串类型 t = [float(x) for x in s] #使用列表推导将列表s中的成员全部转换成浮点数,存入另一个列表t print("%.4f" % caculate(*t))

输入样例:
3 2 1
输出样例:
6.0000
def caculate(*t):
    sum=1
    for i in t:
        sum*=i
    return sum

 

6-16 打印指定范围内的全部回文素数(高教社,《Python编程基础及应用》习题8-7)

分数 6

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

回文素数是指一个数既是素数又是回文数,例如131既是素数又是回文数。请实现下述两个函数,帮助测试程序完成如下功能:从键盘输入正整数N, 打印从1 ~ N(包含N)的全部回文素数,一行一个。

函数接口定义:

 

def isPrime(num): def reverseNumber(num):

isPrime()用于判断整数num是否是素数,是返回True, 否则返回False.
reverseNumber()用于返回整数num的反向数,321的反向数为123, 320的反向数为23。

裁判测试程序样例:
 

N = int(input()) for n in range(1,N+1): if isPrime(n) and reverseNumber(n) == n: print(n)

输入样例:
400
输出样例:
2
3
5
7
11
101
131
151
181
191
313
353
373
383

 

def isPrime(num):
    if num<2:
        return False
    for i in range(2,num):
        if num%i==0:
            return False
    else:
        return True
    
def reverseNumber(num):
    num1=0
    while num!=0:
        num1=num1*10+num%10
        num//=10
    return num1

6-17 两个数的最大值

分数 10

全屏浏览

切换布局

作者 殷伟凤

单位 浙江传媒学院

编写一个名为max的函数,接受两个整数作为参数,并返回两者中的较大值。例如,如果7和12作为参数传递给函数,该函数将返回12。

函数接口定义:

 

max(x, y)

x 和 y是传入的两个整数。

裁判测试程序样例:
 

/* 请在这里填写答案 */ def main(): a = int(input()) b = int(input()) print(max(a, b)) main()

输入样例:

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

2
3
输出样例:
3

 

def max(x, y):
    if x>y:
        return x
    else:
        return y

6-18 求素数

分数 32

全屏浏览

切换布局

作者 殷伟凤

单位 浙江传媒学院

素数是仅可以被自身和1整除的数。0和1不是素数。
编写一个名为isPrime的函数,将一个整数作为参数,如果该参数是素数则返回True,否则返回False。

函数接口定义&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值