请大家严格按照下面顺序编写圆形生成器程序。 :
定义函数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中点列表的顺序决定。
裁判测试程序样例&#x