函数设计 练习题(Python)

6-1 函数的定义 分数 20

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

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

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

裁判测试程序:

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

答案之一:

def f(x):
    x=x*x+2
    return x

6-2 计算工资 分数 20

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

函数接口定义:

 pay(salaryHour, hours)

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

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

输入样例1:

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

 10
 35

输出样例1:

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

350

输入样例2:

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

10
45

输出样例2:

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

475.0

输入样例3:

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

10
61

输出样例3:

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

720.0

答案之一:

def pay(salaryHour,hours):
    if 40<hours<=60:
        a=salaryHour*40+1.5*salaryHour*(hours-40)
    elif 60<hours:
        a=salaryHour*40+1.5*salaryHour*20+2*salaryHour*(hours-60)
    elif 0<hours<=40:
        a=salaryHour*hours
    return a

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

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

函数接口定义:

defdigitSum(v)

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

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

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

答案之一:

def digitSum(v):
    sum=0
    while v:
        sum+=v%10
        v//=10
    return int(sum)

6-4 编写函数判断水仙花数 分数 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):
    a = n % 10
    b = n // 10 % 10
    c = n // 100
    if  n ==a*a*a+b*b*b+c*c*c:
         return 1
    else:
         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为正整数,返回结果浮点数。

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

答案之一:

def f(i):
    if i<=1:
        return 1/2
    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)
裁判测试程序样例:
/* 请在这里填写答案 */
number = int(input())
result = collatz(number)
print("输出结果为:", result)
输入样例:

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

7
输出样例:

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

输出结果为: 14

答案之一:

def collatz(number):
    if number % 2 == 0:
        return number +2
    else:
        return 2 * number

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

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

函数定义:
def func(list1)
裁判测试程序样例:
/* 请在这里填写答案 */

print(func([1, 2, 3, 4]))
print(func([5, 6]))
输入样例:
输出样例:

在这里给出相应的输出。

[1, 2]
[5, 6]

答案之一:

def func(*list1):
    for i in list1:
        l = len(i)
        if l > 2:
            return(i[:2])
        else:
            return (i)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与自己赛跑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值