10-1 人民币美元双向兑换
本体要求实现一个人民币与美元的双向兑换函数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(n):
m = float(n[1::])
x = list(n)
if x[0] == '$':
print('{0}美元 = {1:.2f}人民币'.format(int(m),6.709*m))
elif x[0] == '¥':
print('{0}人民币 = {1:.2f}美元'.format(int(m),m/6.709))
10-2 jmu-python-函数-找钱
买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以
尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。
而不是给用户17张1元或者3张5元与2张1元。
函数接口定义:
giveChange(money) #money为要找的钱。经过计算,应按格式"要找的钱 = x10 + y5 + z*1"输出。
裁判测试程序样例:
/* 请在这里填写答案 */
n = int(input())
for i in range(n):
giveChange(int(input()))
输入样例:
5
109
17
10
3
0
输出样例:
109 = 10*10 + 1*5 + 4*1
17 = 1*10 + 1*5 + 2*1
10 = 1*10 + 0*5 + 0*1
3 = 0*10 + 0*5 + 3*1
0 = 0*10 + 0*5 + 0*1
def giveChange(x):
a = x // 10
b = (x - 10*a )//5
c = x -a*10 -b*5
print('{0} = {1}*10 + {2}*5 + {3}*1'.format(x,a,b,c))
6-3 jmu-python-函数-圆形生成器
请大家严格按照下面顺序编写圆形生成器程序:
定义函数getCircleArea®。功能:可对指定r计算圆面积。请使用公式math库的pirr进行计算。
定义函数get_rList(n)。功能:输入n个值放入列表并将列表return。
输入n,调用get_rList(n)获得列表rList。说明:已有代码,不需要你编写。
遍历rList,对每个元素调用getCircleArea,并按指定格式输出。说明:已有代码,不需要你编写。
注意:1.需导入程序中所需要的库。2.仅需提交两个函数的完整代码。
函数接口定义:
getCircleArea® #r代表整数半径
get_rList(n) #n代表在函数中输入n个值放入列表。
裁判测试程序样例:
/* 请在这里填写答案 */
n = int(input())
rList = get_rList(n)
for e in rList:
print('{:10.3f}'.format(getCircleArea(e)))
print(type(rList))
输入样例:
3
1
2
3
输出样例:
3.142 12.566 28.274 <class 'list'>
def getCircleArea(r):
r = float(r)
import math
return math.pi * r * r
def get_rList(n):
lst = []
for i in range(n):
lst.append(input())
return lst
10-4 jmu-python-计算薪资
某公司销售员底薪为5000,销售业绩与利润提成的关系如下表所示(计量单位:元)

编写函数,计算员工月薪。
函数接口定义:
bonus(sales)
其中 sales 是参数,表示员工的月销售业绩。
裁判测试程序样例:
/* 请在这里填写答案 */
sales=eval(input())
print("%.2f"%bonus(sales))
输入样例1:
50800
输出样例1:
15160.00
输入样例2:
35000
输出样例2:
10250.00
def bonus(sales):
s = float(sales)
n = 5000
if s <= 10000:
return n
elif s > 10000 and s <= 20000:
return s*0.1 + n
elif s > 20000 and s <= 50000:
return s*0.15 + n
elif s > 50000 and s <= 100000:
return s*0.2 +n
else:
return s*0.25 + n
10-5 使用函数输出指定范围内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):
if n == 0 or n == 1:
return 1
else:
return (fib(n-1)+fib(n-2))
def PrintFN(m,n):
alist = []
a = 0
while fib(a) < m:
a = a + 1
while fib(a) >= m and fib(a) <= n:
alist.append(fib(a))
a = a + 1
return alist
10-6 函数的递归调用
有n个人坐在一起,第n个人比第n-1个人大2岁,第n-1个人比第n-2个人大2岁,以此类推,……,第1个人是10岁。请问第n个人年龄多大?
输入格式:
输入一个整数表示第几个人。
输出格式:
输出第n个人是m岁。
输入样例:
5
输出样例:
Number 5 is 18 age!
def func(n):
if n == 1:
return 10
else :
return 2 + func(n-1)
x = int(input())
print("Number {0} is {1} age!".format(x,func(x)))
10-7 函数的递归调用
编写求n!的程序。要求:编写一个函数实现求出给定的n的值的阶乘。主函数负责确定n的值、调用自定义的函数,并输出计算结果。
输入格式:
输入一个任意整数n的值。
输出格式:
若n=0或n=1,则n!=1;若n<0,输出“给定的数<0,no value!no value!”的结果。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
5!=120
def func(n):
if n == 1 or n == 0:
return 1
else:
return n * func(n-1)
x = int(input())
if x >= 0:
print('{0}!={1}'.format(x,func(x)))
else:
print('给定的数<0,no value!no value!')
10-8 显示菱形
请编写函数,输入菱形的行数和组成菱形的字符,输出对应的菱形图像。
输入样例
5 $
输出样例
$ $$$ $$$$$ $$$ $
要求:若行数小于等于 0,则输出 None;若行数是偶数,则输出Error。
def func(x,y):
for i in range(1,x+1,2):
print(((str(y))*i).rjust(x//2+i//2+1))
for n in range(x-2,0,-2):
print(((str(y))*n).rjust(x//2+n//2+1))
x,y = input().split()
x = int(x)
if x > 0 and x % 2 != 0 :
func(x,y)
elif x <= 0 :
print('None')
else :
print('Error')
这篇博客记录了Python编程中的函数应用,包括人民币美元双向兑换、找零问题、圆形生成器、薪资计算、Fibonacci数计算、递归调用等实战案例,旨在帮助初学者掌握函数的使用和递归概念。
3726

被折叠的 条评论
为什么被折叠?



