6-1 sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和。

分数 10

作者 周雪芹

单位 山东理工大学

给定两个均不超过9的正整数a和n,要求:编写函数fn(a,n), 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列之和。

函数接口定义:

def 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):
    t=a
    sum=0
    while n:
        n-=1
        sum+=a
        a=a*10+t
    return sum

6-2 sdut-使用函数求区域内的素数之和

分数 10

作者 周雪芹

单位 山东理工大学

设计函数,求指定范围内的素数之和。

函数1:prime(p), 用户传入参数p,若它为素数时返回True,否则返回False.

函数2:PrimeSum(m,n),返回区间[m, n]内所有素数的和(其 中,1<=m<n)。

函数接口定义:

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:
        return 0
    else:
        for i in range(2,int(p**0.5)+1):
            if p%i==0:
                return 0
        return 1
def PrimeSum(m,n):
    sum=0
    for i in range(m,n+1):
        if prime(i):
            sum+=i
    return sum

6-3 sdut-使用函数统计数字字符在某数字中出现的个数

分数 10

作者 周雪芹

单位 山东理工大学

设计函数,统计数字字符在某数字中出现的个数。

函数接口定义:

CountDigit(number,digit )

其中,number是整数,digit为[1, 9]区间内的整数数值;返回number中digit出现的次数。

裁判测试程序样例:

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

number,digit=input().split()

number=int(number)

digit=int(digit)

count=CountDigit(number,digit )

print("Number of digit {} in {}:{}".format(digit, number, count))

输入样例:

在这里给出一组输入。例如:

-21252 2

输出样例:

Number of digit 2 in -21252: 3

 实现代码:

def CountDigit(number,digit):
    number=abs(number)
    sum=0
    while number:
        t=number%10
        if t==digit:
            sum+=1
        number//=10
    return sum

6-4 sdut-使用函数输出Fibonacci数列的值与指定范围内Fibonacci数值的个数

分数 10

作者 周雪芹

单位 山东理工大学

设计函数实现:计算第n项Fibonacci数列数值,并求出两正整数a和b所组成的闭区间[a,b](0<a<b≤100000)之间的所有Fibonacci数的数目。

Fibonacci数列,任一项数字是前两项的和(最开始两项均定义为1)的数列, fib(0)=fib(1)=1

函数接口定义:

fib(n) #函数1

fibs(a, b) #函数2

fib(n):返回第n项Fibonacci数;

fibs(a, b):返回 [a, b] 中的所有Fibonacci数组成的列表。

n、a、b均为正整数。

裁判测试程序样例:

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

n,a,b=input().split()

n=int(n)

a=int(a)

b=int(b)

fb=fib(n)

print("fib({0}) = {1}".format(n,fb))

fiblist=fibs(a, b)

print(len(fiblist))

输入样例:

在这里给出一组输入。例如:

6 20 100

输出样例:

在这里给出相应的输出。例如:

fib(6) = 13

4

 实现代码:



def fib(n):
    a=1
    b=1
    n-=1
    while n:
        n-=1
        t=a
        a=b
        b+=t
    return b

def fibs(a, b):
    l=[]
    x=1
    y=1
    if a==1:
        l.append(1)
        l.append(1)
    while y<=b:
        t=x
        x=y
        y+=t
        if a<=y<=b:
            l.append(y)
    return l


6-5 sdut-利用函数得到缩写词

分数 10

作者 周雪芹

单位 山东理工大学

缩写词是由一个短语中每个单词的第一个字母组成,均为大写。

例如,CPU是短语“central processing unit”的缩写。

函数接口定义:

acronym(phrase);

参数:phrase是字符串短语,函数返回:短语的缩写词。

裁判测试程序样例:

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

phrase=input()

print(acronym(phrase))

输入样例:

central processing unit

输出样例:

CPU

 实现代码:

def acronym(phrase):
    ss=""
    x=len(phrase)
    if phrase[0]!=' ':
        ss+=phrase[0].upper()
    for i in range(x):
        if phrase[i]!=" " and phrase[i-1]==' ':
            ss+=phrase[i].upper()
    return ss

6-6 sdut-求嵌套列表的平均值

分数 10

作者 周雪芹

单位 山东理工大学

Avg是一个求平均值的函数。它的参数是嵌套列表,求每个元素的平均值。每个元素是列表,至少有1个值。

函数接口定义:

Avg(lst)

lst是一个二维嵌套列表,该函数返回值是每个元素的平均值组成的列表。

裁判测试程序样例:

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

lst=eval(input())

result=Avg(lst)

for value in result:

print("{:.1f}".format(value),end=" ")

输入样例:

[[95,92,80],[66,75,40],[89,72,100,91]]

输出样例:

89.0 60.3 88.0

 实现代码:

def  Avg(lst):
    x=len(lst)
    l=[]
    for i in range(x):
        a=sum(lst[i])
        b=len(lst[i])
        l.append(a/b)
    return l

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐