当前位置:   article > 正文

函数设计 练习题(Python)_python 函数练习题

python 函数练习题

6-1 函数的定义 分数 20

设f(x)=x* x+2, 从键盘上给a,b,c输入数值,求f(a)+f(b)+f(c)的值。利用函数来实现,完成下面的程序。

函数接口定义:
deff (x):

其中x是一个整数,该函数功能计算题目中函数的数值。

裁判测试程序:

  1. #你的答案将被嵌入到这里 a=int(input( ))
  2. b=int(input( ))
  3. c=int(input( ))
  4. print(f(a)+f(b)+f(c))
输入样例:
  1. 2
  2. 3
  3. 4
输出样例:
35

答案之一:

  1. def f(x):
  2. x=x*x+2
  3. return x
'
运行

6-2 计算工资 分数 20

编写函数pay(),带两个输入参数:小时工资和上周员工工作了的小时数。函数计算并返回员工的工资。加班工资的计算方法如下:大于40小时但小于或等于60小时按平时小时薪酬的1.5倍给薪;大于60小时则按平时小时薪酬的2倍给薪。

函数接口定义:

 pay(salaryHour, hours)

salaryHour是平时小时薪酬,hours是员工工作的小时数

裁判测试程序样例:
  1. /* 请在这里填写答案 */
  2. defmain(): salaryPerHour = int(input())
  3. hours = int(input())
  4. print(pay(salaryPerHour, hours))
  5. main()

输入样例1:

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

  1. 10
  2. 35

输出样例1:

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

350

输入样例2:

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

  1. 10
  2. 45

输出样例2:

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

475.0

输入样例3:

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

  1. 10
  2. 61

输出样例3:

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

720.0

答案之一:

  1. def pay(salaryHour,hours):
  2. if 40<hours<=60:
  3. a=salaryHour*40+1.5*salaryHour*(hours-40)
  4. elif 60<hours:
  5. a=salaryHour*40+1.5*salaryHour*20+2*salaryHour*(hours-60)
  6. elif 0<hours<=40:
  7. a=salaryHour*hours
  8. return a
'
运行

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

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

函数接口定义:

defdigitSum(v)

v为输入整数(正整数);

函数返回一个整数,其值为v的各位数字之和。

裁判测试程序样例:
  1. a = int(input())
  2. print(digitSum(a))
输入样例:
291
输出样例:
12

答案之一:

  1. def digitSum(v):
  2. sum=0
  3. while v:
  4. sum+=v%10
  5. v//=10
  6. return int(sum)
'
运行

6-4 编写函数判断水仙花数 分数 10

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

函数接口定义:

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

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

裁判测试程序样例:
  1. /* 请在这里填写答案 */
  2. n = eval(input())
  3. if isflower(n)==True:
  4. print('Yes')
  5. else:
  6. print('No')
输入样例:

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

371
输出样例:

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

Yes

答案之一:

  1. def isflower (n):
  2. a = n % 10
  3. b = n // 10 % 10
  4. c = n // 100
  5. if n ==a*a*a+b*b*b+c*c*c:
  6. return 1
  7. else:
  8. return 0
'
运行

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

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

函数接口定义:

deff(i) 

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

裁判测试程序样例:
  1. v=int(input())
  2. print("%.4f" % f(v))
输入样例:
5
输出样例:
3.5500

答案之一:

  1. def f(i):
  2. if i<=1:
  3. return 1/2
  4. return i/(i+1)+f(i-1)
'
运行

6-6 函数的定义与调用 分数 20

编写一个名为collatz()的函数,它有一个名为number的参数:

  1. 如果number是偶数,那么collatz()就打印number加上2

  1. 如果number是奇数,那么collatz()就打印number乘以2

函数接口定义:

def collatz(number)
裁判测试程序样例:
  1. /* 请在这里填写答案 */
  2. number = int(input())
  3. result = collatz(number)
  4. print("输出结果为:", result)
输入样例:

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

7
输出样例:

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

输出结果为: 14

答案之一:

  1. def collatz(number):
  2. if number % 2 == 0:
  3. return number +2
  4. else:
  5. return 2 * number
'
运行

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

编写一个函数,判断用户传入的列表长度是否大于2,如果大于2,只保留前两个,并将新内容返回给调用者。

函数定义:
def func(list1)
裁判测试程序样例:
  1. /* 请在这里填写答案 */
  2. print(func([1, 2, 3, 4]))
  3. print(func([5, 6]))
输入样例:
输出样例:

在这里给出相应的输出。

  1. [1, 2]
  2. [5, 6]

答案之一:

  1. def func(*list1):
  2. for i in list1:
  3. l = len(i)
  4. if l > 2:
  5. return(i[:2])
  6. else:
  7. return (i)
'
运行
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/985285
推荐阅读
相关标签
  

闽ICP备14008679号