目录
7-14 输入字符串,排序后输出最大字符及该字符在原字符串中的索引
7-37 python字典-将字典的键和值分别存入两个列表并输出
7-1 输入列表,求列表元素和(eval输入应用)
分数 10
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
在一行中输入列表,输出列表元素的和。
输入格式:
一行中输入列表。
输出格式:
在一行中输出列表元素的和。
输入样例:
[3,8,-5]
输出样例:
6
num = eval(input())
sum=0
for i in num:
sum=sum+i
print(sum)
7-3 求矩阵鞍点的个数
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
鞍点的个数
输入样例1:
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
输出样例1:
1
输入样例2:
2
1 7
4 1
输出样例2:
0
输入样例3:
3
4 7 8
1 3 3
2 3 1
输出样例3:
2
n=input()
n=eval(n)
s=[[0]*n]*n
for i in range(0,n):
s[i]=input().split()
for i in range(0,n):
for j in range(0,n):
x=s[i][j]
x=eval(x)
s[i][j]=x
count=0
list1=list()
list2=list()
for i in range(0,n):
max=s[i][0]
for j in range(0,n):
if(max<s[i][j]):
max=s[i][j]
list1.append(max)
for i in range(0,n):
min=s[0][i]
for j in range(0,n):
if(min>s[j][i]):
min=s[j][i]
list2.append(min)
for i in range(0,n):
for j in range(0,n):
if(list1[i]==list2[j]):
count=count+1
print(count)
7-5 求圆面积
分数 10
全屏浏览
切换布局
作者 马杨珲
单位 浙江科技大学
输入圆的半径,求圆的面积(使用math库的pi常量)
输入格式:
输入圆的半径,可以是小数,也可以是整数。
输出格式:
输出结果,要求面积保留2位小数。输出格式为:圆面积是×××
输入样例:
在这里给出一组输入。例如:
2
输出样例:
在这里给出相应的输出。例如:
圆面积是12.57
import math
n=eval(input())
s=math.pi*n*n
print("圆面积是%.2lf" % s)
7-6 字典合并与排序
分数 10
全屏浏览
切换布局
作者 彭城
单位 成都信息工程大学
用户分两行输入两个字典,格式参照输入要求;请设计程序实现:
将两个字典合并为一个字典,如果两个字典中分别有相同的键(key),需将对应的值相加后作为字典中该键对应的新值。
输入格式:
用两行输入字典格式的两个数据,字典中键的数据类型统一为数字或字符,字典中值的数据均为数字。
输出格式:
输出合并后的字典数据,字典数据要求按照键的增序排列。
输入样例1:
输入1:
{1:2,3:9,5:2,6:2}
{2:1,6:3,7:9,1:4}
输出样例1:
输出1:
{1: 6, 2: 1, 3: 9, 5: 2, 6: 5, 7: 9}
输入样例2:
输入2:
{'c':3,'a':4,'n':1}
{'a':3,'c':7,'b':10}
输出样例2:
输出2:
{'a': 7, 'b': 10, 'c': 10, 'n': 1}
a=eval(input())
dic=eval(input())
for key1, value1 in a.items():
if key1 in dic:
dic[key1] += value1
else:
dic[key1] = value1
dic = sorted(zip(dic.keys(),dic.values())) #打包成元组进行排序
d={}
for i in range(len(dic)):
d[dic[i][0]] = dic[i][1]
print (d)
7-8 乘积项求和
分数 100
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
输入一个正整数m(m>=10),计算 1*2+2*3+3*4+...+(m-1)*m
的值。
输入格式:
在一行输入一个正整数m。
输出格式:
在一行中按照格式“sum = S”输出对应的和S.
输入样例:
在这里给出一组输入。例如:
10
输出样例:
在这里给出相应的输出。例如:
sum = 330
n=int(input())
sum=0
for i in range(2,n+1):
sum+=i*(i-1)
print('sum = %d'%sum)
7-9 计算分段函数
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
本题目要求计算下列分段函数g(x)的值:
g(x)={02x1x=0x!=0
输入格式:
在一行中输入实数x。
输出格式:
在一行中按“g(x) = result”的格式输出,其中x与result都保留3位小数。
输入样例1:
在这里给出一组输入。例如:
500
输出样例1:
在这里给出相应的输出。例如:
g(500.000) = 0.001
输入样例2:
在这里给出一组输入。例如:
0
输出样例2:
在这里给出相应的输出。例如:
g(0.000) = 0.000
n=eval(input())
if(n==0):
print('g(%.3f) = 0.000'%n)
else:
m=1/(2*n)
print('g(%.3f) = %.3f'% (n,m))
7-10 求奇数分之一序列前N项近似和
分数 20
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项近似和(提示:用ceil函数)。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum ≈ S”的格式输出近似和S。S是大于序列和的最小整数
输入样例:
在这里给出一组输入。例如:
23
输出样例:
在这里给出相应的输出。例如:
sum ≈ 3
import math
n=int(input())
sum=0
for i in range(1,n+1):
sum=sum+(1/(2*i-1))
print('sum ≈ %d'%math.ceil(sum))
7-11 求平方与倒数序列的近似和
分数 20
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
本题要求对两个正整数m和n(m≤n)编写程序,计算序列近似和。近似和定义为小于序列和的最大整数。(提示:用floor函数)
m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum ≈ S”的格式输出近似和S。
输入样例:
在这里给出一组输入。例如:
5 10
输出样例:
在这里给出相应的输出。例如:
sum ≈ 355
import math
n,m=map(int,input().split())
sum=0
for i in range(n,m+1):
sum=sum+i*i+1/i
print('sum ≈ %d'%math.floor(sum))
7-12 整数各位数字之和
分数 10
全屏浏览
切换布局
作者 李体新
单位 保定学院
输入任意一个正整数A,然后输出该整数各个位上的数字之和。比如输入整数1238,则各位上数字之和为1+2+3+8=14。
输入格式:
输入一个正整数A。
输出格式:
输出A的各个位上数字之和。
输入样例:
在这里给出一组输入。例如:
12345
输出样例:
在这里给出相应的输出。例如:
15
n=input()
sum=0
for i in n:
sum=sum+int(i)
print(sum)
7-13 判断回文字符串
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入一个字符串,判断该字符串是否为回文,只考虑数字和字母字符,字母的大小写没有区别。
输入格式:
输入一个字符串。
输出格式:
是回文,一行输出yes
,否则输出no
。
输入样例:
在这里给出一组输入。例如:
A man,a plan; cnalPanama
输出样例:
在这里给出相应的输出。例如:
yes
s=input()
s=s.lower()
i=0
j=len(s)-1
flag=0
while i<j:
if(s[i]>'z' or s[i]<'a'):
i=i+1
continue
if(s[j]>'z' or s[i]<'a'):
j=j-1
continue
if s[i]==s[j]:
i=i+1
j=j-1
continue
else:
flag=1
break
if flag==1:
print('no')
else:
print('yes')
7-14 输入字符串,排序后输出最大字符及该字符在原字符串中的索引
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
输入字符串,排序后输出最大字符及该字符在原字符串中的索引。相同字符的索引取最大值。提示:用元组实现。
输入格式:
在一行输入字符串。
输出格式:
在一行输出字符和索引。
输入样例:
在这里给出一组输入。例如:
Hello Python
输出样例:
在这里给出相应的输出。字符和数字间空3格。例如:
y 7
inde=0
s=input()
max=s[0]
for i in range(0,len(s)):
if s[i]>=max:
max=s[i]
inde=i
print('%c %d'%(max,inde))
7-15 统计满足特定条件的字符数
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
输入字符串A(没有重复字符),输入字符串B,求在字符串A中字符的个数,这些字符必须同时又在字符串B中。提示:用in
运算符。
输入格式:
一行输入字符串A。
一行输入字符串B。
输出格式:
一行输出字符数。
输入样例:
在这里给出一组输入。例如:
AEIOU
HELLO World!
输出样例:
在这里给出相应的输出。例如:
2
s=input()
s1=input()
sum=0
for i in s:
for j in s1:
if(j==i):
sum=sum+1
print(sum)
7-16 显示指定范围的素数并求和
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
本题要求显示给定整数M和N区间内素数并对它们求和。
输入格式:
在一行输入两个正整数M和N(1≤M≤N≤1000)。
输出格式:
显示指定范围的素数,素数间空一格,每五个换一行。
单独一行输出素数的个数及素数的和。
输入样例:
在这里给出一组输入。例如:
4 30
输出样例:
在这里给出相应的输出。例如:
5 7 11 13 17
19 23 29
amount=8 sum=124
# By jurio.
import math
M, N = map(int,input().split())
M = 2 if M == 1 else M
a = list(range(M,N+1))
for x in range(M,N+1):
for m in range(2,int(math.sqrt(x)+1)):
if x%m==0:
a.remove(x)
break
for i in range(len(a)):
if (i+1)%5!=0:
print(a[i],end=' ')
else:
print(str(a[i])+" ")
if len(a)%5==0:
print("amount="+str(len(a)),"sum="+str(sum(a)))
else:
print("\namount="+str(len(a)),"sum="+str(sum(a)))
7-17 输出摄氏-华氏温度转换表
分数 30
全屏浏览
切换布局
作者 陈春晖
单位 浙江大学
输入2个正整数lower和upper(-20<=lower<=upper<=50),表示摄氏范围。请输出一张取值范围为[lower,upper]、
且每次增加2摄氏度的摄氏-华氏温度转换表。温度转换的计算公式:
F=C×1.8+32
其中:C表示摄氏温度,F表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。
输出格式:
第一行输出:"celsius□□□□fahr"
接着每行输出一个摄氏温度celsius(整数)与一个华氏温度fahr(占据14个字符宽度,靠右对齐,保留1位小数)。<