日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...

發布時間:2025/3/15 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請大家嚴格按照下面順序編寫圓形生成器程序。 :

定義函數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

總結

以上是生活随笔為你收集整理的jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。