网站建设大企业,做网站第一步做什么,怎么把自己做的网站放到网上,公关策划公司是干什么的请大家严格按照下面顺序编写圆形生成器程序。 #xff1a;
定义函数getCircleArea(r)#xff0c;可以对指定r计算圆面积。计算公式math库的pi*r*r。
定义函数get_rList(n)#xff0c;功能#xff1a;输入n个值放入列表并将列表return。
输入n#xff0c;调用get_rList(n)获…请大家严格按照下面顺序编写圆形生成器程序。
定义函数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.274import math
def getCircleArea(r):return math.pi*r*r
def get_rList(n):
l[]for i inrange(n):
aint(input())
l.append(a)returnl
n int(input())
rListget_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():
#从一行以,分隔的数中读取坐标放入元组并返回
ainput().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库中的函数
sum0
for i in range(3):
sumsumpoint[i]*point[i]returnmath.sqrt(sum)
n int(input())for i inrange(n):
preadPoint()
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():
ainput().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):
sum0
for i in range(3):
sumpoint[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):
sum0
for i inrange(len(pointList)):
sumdistance(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):
preadPoint()
points.append(p)
print(Point {}, type {}, distance {:.3f}.format(p,type(p),distance(p)))
pointsTupleClassifyPoints(points, r)
print(pointsTuple {}.format(pointsTuple))
printPointsTuple(pointsTuple,r)
6-4 jmu-python-组合数据类型-3.二维坐标点统计 (15 分)
随机生成n个点并存入字典每个点的坐标为(x, y)坐标x、y的取值范围是[0,10]之间的整数。
随机生成点的过程中可能会产生重复的点(两个点的坐标值一样)需记录该点生成的次数如在
整个生成点的过程中生成了3个坐标为(21)的点那么需将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,yrandint(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()))
pListgeneratePoints(n)
pDictcreatePointDict(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)
裁判测试程序样例
/* 请在这里填写答案 */
numinput()
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:
numint(num)for i in range(2,num):if num%i0:returnFalsereturnTrue
except:returnFalse
numinput()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(n1):
num[[]]for j in range(n1):
num[i][0]
num[1][1]1
for i in range(2,n1):for j in range(1,n1):
num[i][j]num[i-1][j]num[i-1][j-1]for i in range(1,n1):for k in range(n-i):
print(,end )for j in range(1,i1):
print(num[i][j],end )
print()
n int(input())
printYanghui(n)
6-8 jmu-javapython-统计字符个数 (10 分)
编写程序统计1行字符串中
不同字符的个数。
每种字符出现的次数。
函数接口定义
Freq(line)
函数功能该函数统计不同字符出现的次数并最后按照字符升序进行输出。输出格式见输出样例。
参数说明line为需要统计的字符串。
裁判测试程序样例
/* 请在这里填写答案 */
line input()
Freq(line)
输入样例
abc 123 adex!!!
输出样例
112
! 3
1 1
2 1
3 1
a 2
b 1
c 1
d 1
e 1
x 1
输出格式说明
第1行输出不同字符的个数。
两边应有空格。
上述输出样例中第2行的字符是空格。
输出按照字符升序排列。
def Freq(line):
wordsline
s{}
for i in words:
if i in s:
s[i]1
else:
s[i]1
slist(s.items())
print(len(s))
s.sort(keylambda x:x[0])
for i in range(len(s)):
word,counts[i]
print({} {}.format(word,count))
line input()
Freq(line)
6-9 6-1.使用函数求特殊a串数列和 (30 分)
给定两个均不超过9的正整数a和n要求编写函数fn(a,n) 求aaaaaa⋯aa⋯aa(n个a之和fn须返回的是数列和
函数接口定义
fn(a,n)
其中 a 和 n 都是用户传入的参数。 a 的值在[1, 9]范围n 是[1, 9]区间内的个位数。函数须返回级数和
裁判测试程序样例
/* 请在这里填写答案 */
a,binput().split()
sfn(int(a),int(b))
print(s)
输入样例
在这里给出一组输入。例如
2 3
输出样例
在这里给出相应的输出。例如
246
def fn(a,n):
sum0
for i in range(1,n1):
cafor j in range(0,i-1):
cac*10sumsumcreturn sum
6-10 6-2.使用函数求素数和 (20 分)
使用函数求素数和
prime(p), 其中函数prime当用户传入参数p为素数时返回True否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1m
函数接口定义
在这里描述函数接口
prime(p)返回True表示p是素数返回False表示p不是素数
PrimeSum(m,n)函数返回素数和
裁判测试程序样例
/* 请在这里填写答案 */
m,ninput().split()
mint(m)
nint(n)
print(PrimeSum(m,n))
输入样例
在这里给出一组输入。例如
1 10
输出样例
在这里给出相应的输出。例如
17
def prime(p):if p1:returnFalsefor i in range(2,p):if p%i0:returnFalsereturnTrue
def PrimeSum(m,n):
sum0
for i in range(m,n1):ifprime(i):
sumireturn sum
6-11 6-3 使用函数统计指定数字的个数 (20 分)
本题要求实现一个统计整数中指定数字的个数的简单函数。
CountDigit(number,digit )
其中number是整数digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
函数接口定义
在这里描述函数接口。例如
CountDigit(number,digit ),返回digit出现的次数
裁判测试程序样例
/* 请在这里填写答案 */
number,digitinput().split()
numberint(number)
digitint(digit)
countCountDigit(number,digit )
print(Number of digit 2 in str(number):,count)
输入样例
在这里给出一组输入。例如
-21252 2
输出样例
在这里给出相应的输出。例如
Number of digit 2 in -21252: 3
def CountDigit(number,digit ):
count0
if number0:
number-numberwhile number0:
inumber%10
if idigit:
count1number//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)的值。
裁判测试程序样例
在这里给出函数被调用进行测试的例子。例如
/* 请在这里填写答案 */
epsfloat(input())
xfloat(input())
valuefuncos(eps,x )
print(cos({0}) {1:.4f}.format(x,value))
输入样例
在这里给出一组输入。例如
0.0001
-3.1
输出样例
在这里给出相应的输出。例如
cos(-3.1) -0.9991
def funcos(eps,x ):
sum0i0count0
whileTrue:
c1
for j in range(1,2*i1):
cc*jif ((x**(2*i))/c)
else:if count%20:
sumsum(x**(2*i))/celse:
sumsum-(x**(2*i))/c
i1count1
6-13 6-4.使用函数输出指定范围内Fibonacci数的个数 (20 分)
本题要求实现一个计算Fibonacci数的简单函数并利用其实现另一个函数,输出两正整数m和n0
函数接口定义
在这里描述函数接口。例如
fib(n),返回fib(n)的值
PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
裁判测试程序样例
在这里给出函数被调用进行测试的例子。例如
/* 请在这里填写答案 */
m,n,iinput().split()
nint(n)
mint(m)
iint(i)
bfib(i)
print(fib({0}) {1}.format(i,b))
fiblistPrintFN(m,n)
print(len(fiblist))
输入样例
在这里给出一组输入。例如
20 100 6
输出样例
在这里给出相应的输出。例如
fib(6) 13
4
def fib(n):if n0 or n1:return 1
else:return fib(n-1)fib(n-2)
def PrintFN(m,n):
a[]
#for i in range(m,n1):for j in range(26):if mfib(j)n:
a.append(fib(j))
#print(a)return a
6-14 计算素数和 (20 分)
本题要求计算输入两个正整数x,y(xy包括x,y)素数和。函数isPrime用以判断一个数是否素数primeSum函数返回素数和。
输入格式:
输入两个整数。
输出格式:
[m-n]间的素数和
裁判测试程序样例
/* 请在这里填写答案 */
x,y map(int, input().split())
print(primeSum(x,y))
输入样例:
2 8
输出样例:
17
def isPrime(num):
numint(num)for i in range(2,num):if num%i0:returnFalsereturnTrue
def primeSum(a,b):
sum0
for i in range(a,b1):ifisPrime(i):
sumireturn sum