请大家严格按照下面顺序编写圆形生成器程序。 :

定义函数getCircleArea(r),可以对指定r计算圆面积。计算公式math库的pi*r*r。

定义函数get_rList(n),功能:输入n个值放入列表并将列表return。

输入n,调用get_rList(n)获得列表rList。

遍历rList,对每个元素调用getCircleArea,并按格式输出。

注意:需导入程序中所需要的库,并提交两个函数的定义。

函数接口定义:

getCircleArea(r) #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

import math

def getCircleArea(r):return math.pi*r*r

def get_rList(n):

l=[]for i inrange(n):

a=int(input())

l.append(a)returnl

n= int(input())

rList=get_rList(n)for e inrList:

print('{:10.3f}'.format(getCircleArea(e)))

print(type(rList))

6-2 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10 分)

读取若干个点,每个点放入元组。并将所有点的点信息、点的类型、点与原点的距离打印出来。

函数接口定义:

readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回

distance(point) #计算point与原点的距离并返回,要math库中的函数

裁判测试程序样例:

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

n = int(input())

for i in range(n):

p = readPoint()

print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))

输入格式:

输入n,代表底下要输入n行点坐标。坐标全部为整数。

点坐标x,y,z以,分隔。坐标全部为整数。

注意:坐标以,分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。

输出格式:

见输出样例

输入样例:

5

1,1,1

,,

2,,1

3,1,3

5,,

输出样例:

Point = (1, 1, 1), type = , distance = 1.732

Point = (0, 0, 0), type = , distance = 0.000

Point = (2, 0, 1), type = , distance = 2.236

Point = (3, 1, 3), type = , distance = 4.359

Point = (5, 0, 0), type = , distance = 5.000

import math

def readPoint():

#从一行以,分隔的数中读取坐标,放入元组并返回

a=input().split(',')for i inrange(len(a)):try:if eval(a[i])>0:

a[i]=int(a[i])

except:

a[i]=0

returntuple(a)

def distance(point):

#计算point与原点的距离并返回,要math库中的函数

sum=0

for i in range(3):

sum=sum+point[i]*point[i]returnmath.sqrt(sum)

n= int(input())for i inrange(n):

p=readPoint()

print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))

6-3 jmu-python-组合数据类型-2.坐标点分类 (10 分)

在上题(1.计算坐标点欧氏距离)的基础上。将每个点根据距离原点的远近分成两类,一类是小于r的点,一类是大于等于r的点。

步骤如下:

调用ClassifyPoints(points, r)函数根据输入的半径r进行分类,将所有=r的点放入b列表。然后将a,b列表以元组的方式返回赋值给pointsTuple。

将pointsTuple直接输出。

调用printPointsTuple(pointsTuple, r),将=r的点集合分情况输出,输出还需包含每个点集的平均距离。

函数接口定义:

readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回。如果相应位置无数据,按0处理。

distance(point) #计算point与原点的距离并返回,要math库中的函数

ClassifyPoints(points, r): #根据r将points中的点分成两类放入两个列表,距离小于r与大于等于r。然后将两个列表以元组的形式返回

avgDistance(pointList): #计算列表pointList中的所有点到原点的平均距离,可利用distance(p)函数

printPointsTuple(psTuple, r): #将元组psTuple中的数据按照输出样例格式输出。输出顺序由psTuple中点列表的顺序决定。

裁判测试程序样例:

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

n = int(input())

r = int(input())

points = []

for i in range(n):

p = readPoint()

points.append(p)

print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))

pointsTuple = ClassifyPoints(points, r)

print("pointsTuple = {}".format(pointsTuple))

printPointsTuple(pointsTuple,r)

输入格式:

输入n,代表底下要输入n行点坐标。点坐标x,y,z以,分隔。坐标全部为整数。

输入r, 代表要以r作为分类依据。

注意:坐标以,分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。

输出格式:

见输出样例。注意:= < >=两侧均有一个空格,,后面要有一个空格。

printPointsTuple中计算的平均距离保留3位小数。输出顺序由psTuple中点列表的顺序决定。

输入样例:

5

5

1,1,1

,,

2,3,5

3,1,3

5,,

输出样例:

Point = (1, 1, 1), type = , distance = 1.732

Point = (0, 0, 0), type = , distance = 0.000

Point = (2, 3, 5), type = , distance = 6.164

Point = (3, 1, 3), type = , distance = 4.359

Point = (5, 0, 0), type = , distance = 5.000

pointsTuple = ([(1, 1, 1), (0, 0, 0), (3, 1, 3)], [(2, 3, 5), (5, 0, 0)])

distance < 5, avgDistance = 2.030, points = [(1, 1, 1), (0, 0, 0), (3, 1, 3)]

distance >= 5, avgDistance = 5.582, points = [(2, 3, 5), (5, 0, 0)]

import math

def readPoint():

a=input().split(',')for i inrange(len(a)):try:if eval(a[i])>0:

a[i]=int(a[i])

except:

a[i]=0

returntuple(a)

def distance(point):

sum=0

for i in range(3):

sum+=point[i]**2

returnmath.sqrt(sum)

def ClassifyPoints(points, r):

a,b=[],[]for i inrange(len(points)):if distance(points[i])

a.append(points[i])else:

b.append(points[i])

z=(a,b)returnz

def avgDistance(pointList):

sum=0

for i inrange(len(pointList)):

sum+=distance(pointList[i])return sum/len(pointList)

def printPointsTuple(psTuple, r):

print("distance < {}, avgDistance = {:.3f}, points = {}".format(r,avgDistance(psTuple[0]),psTuple[0]))

print("distance >= {}, avgDistance = {:.3f}, points = {}".format(r,avgDistance(psTuple[1]),psTuple[1]))

n= int(input())

r= int(input())

points=[]for i inrange(n):

p=readPoint()

points.append(p)

print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))

pointsTuple=ClassifyPoints(points, r)

print("pointsTuple = {}".format(pointsTuple))

printPointsTuple(pointsTuple,r)

6-4 jmu-python-组合数据类型-3.二维坐标点统计 (15 分)

随机生成n个点并存入字典,每个点的坐标为(x, y),坐标x、y的取值范围是[0,10]之间的整数。

随机生成点的过程中可能会产生重复的点(两个点的坐标值一样),需记录该点生成的次数,如在

整个生成点的过程中生成了3个坐标为(2,1)的点,那么需将3作为点生成次数纪录下来。

最后在字典中查询3次点坐标,并返回查询结果。

建议:使用字典存储点。

思考:如何在此基础上使用蒙特卡洛方法计算圆周率。

步骤如下:

输入n代表要产生n个点

输入x代表随机数种子(注意:设置种子前需将x转化为整型)

调用generatePoint(n)函数生成n个点,每个点包含x,y坐标,将(x,y)存为元组,然后将该元组作为元素放入列表(可放重复的点坐标),并将该列表返回。

调用createPointDict(pList)将步骤1生成的点列表pList中的每个点放入字典pDict中,字典的键为点(元组),值为出现次数。

调用doQuery(pDict, p): 在pDict中查询p,如果查到则输出点即出现次数,否则输出Not Found。

注意:需要导入random库

函数接口定义:

generatePoints(n) #产生n个2维坐标点放入列表并返回该列表

createPointDict(pList) #将pList中的节点加入字典并统计出现次数,然后返回字典

doQuery(pDict, p) #在pDict中查询p,如果查到则输出该点及其出现次数,否则输出'Not Found'。

裁判测试程序样例:

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

n = int(input())

seed(int(input()))

pList = generatePoints(n)

pDict = createPointDict(pList)

for i in range(3):#查询3次

x, y = [int(e) for e in input().split(',')]

doQuery(pDict, (x, y))

输入格式:

输入的n代表产生n个坐标点

输入x代表种子(x需转化为整型)

若干个行所要查找的坐标。

输出格式:

如果存在,输出 二维坐标点 = 出现次数。注:二维坐标点以元组形式出现。

否则输出Not Found

输入样例:

10000

1

2,9

99,100

1,7

输出样例:

(2, 9) = 87

Not Found

(1, 7) = 75

from random import*import math

def generatePoints(n):

#产生n个2维坐标点放入列表并返回该列表

l=[]for i inrange(n):

x,y=randint(0,10),randint(0,10)

z=(x,y)

l.append(z)returnl

def createPointDict(pList):

#将pList中的节点加入字典并统计出现次数,然后返回字典

s={}for i inpList:if i ins:

s[i]+=1

else:

s[i]=1

returns

def doQuery(pDict, p):

#在pDict中查询p,如果查到则输出该点及其出现次数,否则输出'Not Found'。if p inpDict:

print("{} = {}".format(p,pDict[p]))else:

print("Not Found")

n= int(input())

seed(int(input()))

pList=generatePoints(n)

pDict=createPointDict(pList)for i in range(3):#查询3次

x, y= [int(e) for e in input().split(',')]

doQuery(pDict, (x, y))

6-5 jmu-python-判断质数 (10 分)

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

注意:函数中要有异常处理,如果参数不是整数,返回False

函数接口定义:

def isPrime(num)

裁判测试程序样例:

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

num=input()

if isPrime(num):

print('yes')

else:

print('no')

输入样例1:

ab

输出样例1:

no

输入样例2:

1.1

输出样例2:

no

输入样例3:

11

输出样例3:

yes

def isPrime(num):try:

num=int(num)for i in range(2,num):if num%i==0:returnFalsereturnTrue

except:returnFalse

num=input()ifisPrime(num):

print('yes')else:

print('no')

6-6 jmu-python-函数-找钱 (10 分)

买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以

尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。

而不是给用户17张1元或者3张5元与2张1元。

函数接口定义:

giveChange(money) #money代表要找的钱,为整数。该函数经过计算,然后按照格式"要找的钱 = x*10 + y*5 + 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(a):

a10, a5, a1= 0, 0, 0a10= a//10

a5 = (a%10)//5

a1 = (a%10)%5print("{} = {}*10 + {}*5 + {}*1".format(a, a10, a5, a1))

6-7 jmu-python-杨辉三角 (10 分)

根据输入的n打印n行杨辉三角型。

函数接口定义:

printYanghui(n):#打印n行杨辉三角型

裁判测试程序样例:

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

n = int(input())

printYanghui(n)

输入格式:

输入n,转化为整数

输出格式:

每个数后面均有一个空格。

输入样例:

5

输出样例:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

def printYanghui(n):

num=[]for i in range(n+1):

num+=[[]]for j in range(n+1):

num[i]+=[0]

num[1][1]=1

for i in range(2,n+1):for j in range(1,n+1):

num[i][j]=num[i-1][j]+num[i-1][j-1]for i in range(1,n+1):for k in range(n-i):

print("",end=' ')for j in range(1,i+1):

print(num[i][j],end=' ')

print()

n= int(input())

printYanghui(n)

6-8 jmu-java&python-统计字符个数 (10 分)

编写程序统计1行字符串中:

不同字符的个数。

每种字符出现的次数。

函数接口定义:

Freq(line)

函数功能:该函数统计不同字符出现的次数,并最后按照字符升序进行输出。输出格式见输出样例。

参数说明:line为需要统计的字符串。

裁判测试程序样例:

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

line = input()

Freq(line)

输入样例:

abc 123 adex!!!

输出样例:

11

= 2

! = 3

1 = 1

2 = 1

3 = 1

a = 2

b = 1

c = 1

d = 1

e = 1

x = 1

输出格式说明:

第1行输出不同字符的个数。

=两边应有空格。

上述输出样例中第2行的字符是空格。

输出按照字符升序排列。

def Freq(line):

words=line

s={}

for i in words:

if i in s:

s[i]+=1

else:

s[i]=1

s=list(s.items())

print(len(s))

s.sort(key=lambda x:x[0])

for i in range(len(s)):

word,count=s[i]

print("{} = {}".format(word,count))

line = input()

Freq(line)

6-9 6-1.使用函数求特殊a串数列和 (30 分)

给定两个均不超过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,n):

sum=0

for i in range(1,n+1):

c=afor j in range(0,i-1):

c=a+c*10sum=sum+creturn sum

6-10 6-2.使用函数求素数和 (20 分)

使用函数求素数和

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

函数接口定义:

在这里描述函数接口:

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:returnFalsefor i in range(2,p):if p%i==0:returnFalsereturnTrue

def PrimeSum(m,n):

sum=0

for i in range(m,n+1):ifprime(i):

sum+=ireturn sum

6-11 6-3 使用函数统计指定数字的个数 (20 分)

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

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(number,digit ):

count=0

if number<0:

number=-numberwhile number>0:

i=number%10

if i==digit:

count+=1number//=10

return count

6-12 6-5.使用函数求余弦函数的近似值 (20 分)

本题要求实现一个函数,用下列公式求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

def funcos(eps,x ):

sum=0i=0count=0

whileTrue:

c=1

for j in range(1,2*i+1):

c=c*jif ((x**(2*i))/c)

else:if count%2==0:

sum=sum+(x**(2*i))/celse:

sum=sum-(x**(2*i))/c

i+=1count+=1

6-13 6-4.使用函数输出指定范围内Fibonacci数的个数 (20 分)

本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0

函数接口定义:

在这里描述函数接口。例如:

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

a=[]

#for i in range(m,n+1):for j in range(26):if m<=fib(j)<=n:

a.append(fib(j))

#print(a)return a

6-14 计算素数和 (20 分)

本题要求计算输入两个正整数x,y(x<=y,包括x,y)素数和。函数isPrime用以判断一个数是否素数,primeSum函数返回素数和。

输入格式:

输入两个整数。

输出格式:

[m-n]间的素数和

裁判测试程序样例:

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

x,y =map(int, input().split())

print(primeSum(x,y))

输入样例:

2 8

输出样例:

17

def isPrime(num):

num=int(num)for i in range(2,num):if num%i==0:returnFalsereturnTrue

def primeSum(a,b):

sum=0

for i in range(a,b+1):ifisPrime(i):

sum+=ireturn sum

python圆面积函数_python函数题相关推荐

  1. python nums函数_Python函数

    一.简介 函数是可重用的程序代码块.函数的作用,不仅可以实现代码的复用,更能实现代码的一致性.一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现. 函数用关键字def来定义,def关 ...

  2. python not函数_python 函数

    1 为什么使用函数 在没有接触函数时,有时候需要将一个功能多次写,如果需要修改其中一个变量,则需要把所有实现该功能的代码一处一处改.不利于代码维护,代码量大了,组织结构也会很不清晰. 所以总结不使用函 ...

  3. python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值

    使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y.给不同的x,进行相同的操作,得到相应的y值. 程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为 ...

  4. python函数调用语句_Python函数定义和函数调用

    原标题:Python函数定义和函数调用 我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的a ...

  5. python value函数_python 函数基础

    什么是函数? 函数在Python中是最基本的程序结构,用来最大化地让我们的代码进行复用.简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行.Python中的函数在其他 ...

  6. python long函数_python函数

    一.函数的优点 使代码模块化 代码复用,减少冗余 保证了代码的一致性 python中的函数分为内置函数和自定义函数 内置函数: 如int(), str(), len(), range(), id(), ...

  7. python fields函数_Python函数详解

    # ------------------------------------一等函数------------------------------------ # 龟叔: 虽然我把函数定为一等对象,但是 ...

  8. python采用函数式_python -- 函数以及函数式编程

    函数以及函数式编程 到目前为止,我们的Python 代码已经实现了小的分块.它们都适合处理微小任务, 但是我们想复用这些代码,所以需要把大型代码织成可管理的代码段.代码复用的第一步是 使用函数,它是命 ...

  9. change在python是什么函数_python函数基础

    python函数 函数的基本定义 函数参数 返回值 局部变量和全局变量 嵌套函数 匿名函数 高阶函数 递归 函数的基本定义 引子 现在你的老板让你写一个监控程序,24小时全年午无休的监控你们公司网站服 ...

最新文章

  1. 手指贴个“创可贴”,你睡觉都能发电
  2. Asp.net控件开发学习笔记(六)----数据回传
  3. [北京活动] 5月11日 PMCAFF创业私密分享会邀请函已经下发
  4. 易助工资总额管控上市说明
  5. 在win10 或者win7系统下装双系统ubuntu16.04教程
  6. java扫描指定package注解_java随笔-扫描使用指定注解的类与方法
  7. dbms数据库管理系统_DBMS中的数据库语言
  8. react-native构建基本页面5---调用拍照摄像头
  9. git游戏githug
  10. 软件测试管理的几个基本要素
  11. SQLServr添加数据列
  12. uni-app 的 tabBar 图标自制方法
  13. Volley读取文档和图片
  14. mysql 修改隔离级别_设置mysql隔离级别
  15. PHP的implode函数运用,PHP implode()函数用法讲解
  16. 【C语言总结】C语言预处理器
  17. 2023年华为认证HCIA云计算题库(H13-511)
  18. 基于STM32的恒流源设计
  19. 单电源转正负电源的实现方式
  20. java 合并pdf报错,[Java教程]java合并PDF文件

热门文章

  1. 连接CPU和计算机的总线,什么是计算机总线 总线和接口的区别
  2. ni软件管理器_Multisim 12.0软件安装包+安装教程
  3. spring AOP 取得web的session
  4. 基于角色的权限管理数据库设计(RBAC)
  5. 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...
  6. oracle open for using的用法,oracle OPEN FOR [USING] 语句
  7. mysql平台workb_MySQL:MySQL Workbench的使用
  8. java二叉树生成器_JAVA实现二叉树生成
  9. ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...
  10. C++课程设计详解-12306的模拟实现