给定两个均不超过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):
count=0
if 1<=a<=9 and 1<=n<=9:
for i in range(1,n+1):
count+=int(str(a)*i)
return count
使用函数求素数和
prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 本题要求实现一个统计整数中指定数字的个数的简单函数。 CountDigit(number,digit ) 其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 本题要求实现一个函数,用下列公式求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位。 函数接口定义: 裁判测试程序样例: /* 请在这里填写答案 */ 输入样例: 输出样例: 缩写词是由一个短语中每个单词的第一个字母组成,均为大写。例如,CPU是短语“central processing unit”的缩写。 函数接口定义: 裁判测试程序样例: /* 请在这里填写答案 */ 输入样例: 输出样例: 在一行中输入列表,输出列表元素的和。 输入格式: 输出格式: 输入样例: 输入样例: “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。 输入格式: 输出格式: 输入样例: 输出样例: 求列表中数字和,列表中嵌套层次不限2层 输入格式: 输出格式: 输入样例: 输出样例: 输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值1,第二层每个元素的值为:元素值2,第三层每个元素的值为:元素值*3, …,以此类推! 输入格式: 输出格式: 输入样例: 输出样例: 输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权个数和。第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,…,以此类推! 输入格式: 输出格式: 输入样例: 输出样例: 输入一个嵌套列表,再输入层数,求该层的数字元素个数。 输入格式: 输出格式: 输入样例: 输出样例: 给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。 输入格式: 输出格式: 输入样例: 输出样例: 请编写程序输出前n个正整数的全排列(3<=n<=7),按字典序输出。 输入格式: 输出格式: 输入样例: 输出样例:
在这里描述函数接口:
prime§,返回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):
flag=1
if p == 1:
return False
for i in range(2,p):
if p%i==0:
flag=0
return False
if flag==1:
return True
def PrimeSum(m,n):
sum=0
for i in range(m,n+1):
if prime(i):
sum+=i
return sum
6-3 使用函数统计指定数字的个数 (20分)
在这里描述函数接口。例如:
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):
number=str(number)
return number.count(str(digit))
6-4 使用函数输出指定范围内Fibonacci数的个数 (20分)
在这里描述函数接口。例如:
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-2)+fib(n-1)
def PrintFN(m,n):
data=[]
i=0
while fib(i)<=n:
if fib(i)>=m:
data.append(fib(i))
i+=1
return data
6-5 使用函数求余弦函数的近似值(20分)
函数接口:
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 a(n):
sum=1
if n==0:
return 1
for i in range(1,n+1):
sum*=i
return sum
def funcos(eps,x):
data=[]
i=0
j=2
sum1=0
while abs((x**i)/a(i)) >= eps:
sum1+=(x**i)/a(i)
i+=4
while abs((x**j)/a(j)) >= eps:
sum1-=(x**j)/a(j)
j+=4
return sum1
6-6 缩写词(20分)
acronym(phrase);
phrase是短语参数,返回短语的缩写词phrase=input()
print(acronym(phrase))
central processing unit
CPU
代码
def acronym(phrase):
data=phrase.split()
s=""
for i in range(len(data)):
s+=data[i][0].upper()
return s
7-1 输入列表,求列表元素和(eval输入应用) (10分)
一行中输入列表。
在一行中输出列表元素的和。[3,8,-5]
6
代码
s=list(map(int,eval(input())))
print(sum(s))
7-2 一帮一 (15分)
输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。
每行输出一组两个学生的姓名,其间以1个空格分隔。名次高的学生在前,名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda
Amy Jack
Tom Linda
Bill Maya
Cindy John
代码
s=int(input())
data=[]
n=[]
for i in range(s):
data.append(input().split())
for i in range(s//2):
for j in range(s-1,s//2-1,-1):
if data[j][1] not in n:
if int(data[i][0])+int(data[j][0]) == 1:
print("%s %s"%(data[i][1],data[j][1]))
n.append(data[j][1])
break
7-3 列表或元组的数字元素求和 (20分)
在一行中输入列表或元组
在一行中输出数字的和
在这里给出一组输入。例如:[11,2,[3,7],(68,-1),"123",9]
在这里给出相应的输出。例如:99
代码
def a(s):
sum1=0
for i in s:
if isinstance(i,int):
sum1+=i
elif isinstance(i,list):
sum1+=a(i)
elif isinstance(i,tuple):
sum1+=a(i)
return sum1
s=eval(input())
print(a(s))
7-4 列表数字元素加权和(1) (40分)
在一行中输入列表
在一行中输出加权和
在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]
在这里给出相应的输出。例如:72
代码
def a(s,n):
sum1=0
sum2=0
for i in s:
if isinstance(i,int):
sum1+=i*n
elif isinstance(i,list):
sum2+=a(i,n+1)
return sum1+sum2
s=eval(input())
print(a(s,1))
7-5 列表元素个数的加权和(1) (40分)
在一行中输入一个列表。
在一行中输出加权元素个数值。
在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]
在这里给出相应的输出。例如:15
代码
def a(s,n):
sum1=0
sum2=0
for i in s:
if isinstance(i,int):
sum1+=1*n
elif isinstance(i,list):
sum2+=a(i,n+1)
return sum1+sum2
s=eval(input())
print(a(s,1))
7-6 求指定层的元素个数 (40分)
第一行输入列表 第二行输入层数
在一行中输出元素个数
在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]
3
在这里给出相应的输出。例如:2
代码
def a(s,n,m):
sum1=0
sum2=0
for i in s:
if isinstance(i,list):
sum2=a(i,n,m+1)
elif isinstance(i,int):
sum1+=1
if n == m:
return sum1
else:
return sum2
s=eval(input())
n=int(input())
sum1=a(s,n,1)
print(sum1)
7-7 找出总分最高的学生 (15分)
输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。
在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。5
00001 huanglan 78 83 75
00002 wanghai 76 80 77
00003 shenqiang 87 83 76
10001 zhangfeng 92 88 78
21987 zhangmeng 80 82 75
zhangfeng 10001 258
代码
s=int(input())
data=[]
max=0
sum1=0
flag=-1
for i in range(s):
data.append(input().split())
for i in range(s):
for j in range(2,5):
sum1+=int(data[i][j])
if sum1 > max :
max=sum1
flag=i
sum1=0
print("%s %s %s"%(data[flag][1],data[flag][0],max))
7-8 *6-7 输出全排列 (20分)
一行输入正整数n。
按字典序输出1到n的全排列。每种排列占一行,数字间无空格。
在这里给出一组输入。例如:3
在这里给出相应的输出。例如:123
132
213
231
312
321
代码
import random
def f(n):
a=1
for i in range(1,n+1):
a*=i
return a
n=int(input())
data=[str(i) for i in range(1,n+1)]
s=set()
while len(s) < f(n):
random.shuffle(data)
s.add("".join(data))
s=sorted(s)
for i in s:
print(i)