**************传送门**************

  • 可逆素数 (30 分)
  • 把字符串中十六进制字符转换成十进制整数 (25 分)
  • Python-任意多行字符串拆分数值求和 (20 分)
  • 统计并输出字符串中小写元音字母的个数 (30 分)
  • JMU-Python-分段函数 (20 分)
  • 集合和列表,按从小到大的顺序组合成一个字典 (10 分)
  • 字符串判等 (10 分)
  • 字符串相减 (100 分)
  • 能被3,5和7整除的数的个数(用集合实现) (30 分)
  • 字典输入输出 (15 分)
  • 统计字符频次 (10 分)
  • 统计字符串中每个字符出现的次数 (10 分)
  • 成绩统计2 (10 分)
  • 计算积分 (15 分)
  • 提取数字字符 (10 分)
  • 判断两个字符串是否为变位词 (40 分)
  • 两数之和 (30 分)
  • 字典合并 (40 分)
  • 计算方阵的和,创建新方阵 (30 分)
  • 输出一个 n 阶的方阵 (30 分)
  • 统计字符串中不同种类的字符个数 (10 分)
  • 汉明距离 (30 分)
  • 阶乘应用 (70 分)
  • 分班统计最喜欢的节目 (10 分)
  • 考拉兹猜想(高教社,《Python编程基础及应用》习题6-11) (4 分)
  • 找出肇事者,循环与布尔逻辑(高教社,《Python编程基础及应用》习题6-6) (6 分)
  • 求完全数的字典集 (30 分)
  • 字符串的美化 (10 分)
  • 数字三角形 (10 分)
  • 求矩阵每列的最大值 (10 分)
  • 成绩统计1 (10 分)
  • jmu-python-组合数 (10 分)
  • .十进制转十六进制 (10 分)
  • 求指定层的元素个数 (40 分)
  • 列表数字元素加权和(2) (40 分)
  • 删除多余字符串 (10 分)
  • 输出A以内能被B整除的数 (10 分)
  • jmu-python-逆序输出 (5 分)
  • 求所有N位的素数和 (15 分)
  • 逢七拍手游戏 (20 分)
  • 完全数 (10 分)
  • 输出倒三角 (100 分)
  • 合并两个列表并去重 (10 分)

可逆素数 (30 分)

输入两个正整数m和n,且m<n,求[m,n]之间的可逆素数列表。可逆素数:素数的各位数字顺序颠倒后得到的数仍是素数

输入格式:
分行输入m和n

输出格式:
输出可逆素数列表

输入样例1:
50
100
结尾无空行
输出样例1:
[71, 73, 79, 97]
结尾无空行
输入样例2:
200
300
结尾无空行
输出样例1:
no exit
结尾无空行

a = int(input())
b = int(input())
y = [0] * (b + 1)
y[2] = 1
y[3] = 1
y[1] = 0
for i in range(4, b + 1):if i % 2 == 0:y[i] = 0else:y[i] = 1
for i in range(3, b + 1):t = 3while (i* t < b + 1):y[i*t] = 0t = t + 2
o=[]
for i in range(a,b+1):if int(str(i)[::-1])<b+1:if y[i]==1 and y[int(str(i)[::-1])]==1:o.append(i)
if len(o)==0:print("no exit")
else:print(o)

把字符串中十六进制字符转换成十进制整数 (25 分)

输入一个字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。如果没有十六进制字符,不输出任何信息;-0和0都输出为0。

输入格式:
输入一行非空字符串。

输出格式:
在一行中输出转换后的十进制数,或没有任何输出。

输入样例1:
±P-xf4±1!
结尾无空行
输出样例1:
-3905
结尾无空行
输入样例2:
±nn*)±lp
结尾无空行
输出样例2:
结尾无空行

s = input()
re = '1234567890abcdefABCDEF'lst = ""
for i in s:if i in re:lst =lst + iif lst == '':print('')
elif s.find('-')< s.find(lst[0]):print(-int(lst,16))
else:print(int(lst,16))

Python-任意多行字符串拆分数值求和 (20 分)

编写程序,统计每行字符串中若干整数的和。每行字符串中整数间的分隔符可能有逗号“,”、分号“ ;”和空格,有多少行就求多少行。

输入格式:
任意输入若干行由整数构成的字符串(回车换行),整数间以逗号或空格或分号分隔。测试数确保至少有一行数据,字符串中的整数数据均合法有效。最后以一个回车结束输入。

输出格式:
对应输出原输入串(一行中的字符序列),冒号后输出各个整数之和。

输入样例:
1; 2 ,3
2 3; 4
10,20 30; 40
9
结尾无空行
输出样例:
1; 2 ,3:6
2 3; 4:9
10,20 30; 40:100
9:9
结尾无空行

import rewhile True:try:t = 0b = input()if b == '\n':breakif len(b) == 0:breaka = re.split(',| |;', b)for i in a:if i.isdigit():t += int(i)print(b + ":" + str(t))except:break

统计并输出字符串中小写元音字母的个数 (30 分)

输入一个以换行结束的字符串,统计并输出字符串中小写元音字母的个数(小写元音字母: ‘a’,‘e’,‘i’,‘o’,‘u’)。

输入格式:
在一行中输入字符串

输出格式:
在一行中输出字符串中小写元音字母的个数

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

HelloI
结尾无空行
输出样例:
在这里给出相应的输出。例如:

2
结尾无空行

s=input()
t=0
for i  in s:if i=="a" or i=="e" or i=="i" or i=="o" or i=="u":t+=1
print(t)

JMU-Python-分段函数 (20 分)

本题目要求根据以下分段函数的定义,计算输入的浮点数x对应的y值,输出结果保留两位小数。注意:使用math库

Snap7.bmp

输入格式:
在一行中输入x的值。

输出格式:
计算结果保留两位小数输出。

输入样例1:
-1
结尾无空行
输出样例1:
0.00
结尾无空行
输入样例2:
3.5
结尾无空行
输出样例:
1.88
结尾无空行

import  math
x=float(input())
m=0
if x>3.5:m=math.cos(x)+math.e**x
if x>0 and x<=3.5:m=math.tan(x)+math.log(1+x,math.e)
if x<=0:m=0
print("%.2f"%m)

集合和列表,按从小到大的顺序组合成一个字典 (10 分)

有二个长度一样的集合和列表,按从小到大的顺序组合成一个字典。

输入格式:
输入二个长度一样的集合和列表,集合元素全部为整型,列表元素全部为字符串型。

输出格式:
组合后的字典。

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

{1,2,6,5,3,4}
[‘aa’,‘cc’,‘bb’,‘d’,‘f’,‘e’]
结尾无空行
输出样例:
在这里给出相应的输出。例如:

{1: ‘aa’, 2: ‘bb’, 3: ‘cc’, 4: ‘d’, 5: ‘e’, 6: ‘f’}
结尾无空行

a = list(eval(input()))
b = list(eval(input()))
d = {}
a = sorted(a)
b = sorted(b)
for i ,y in zip(a,b):d.update({i:y})
print(d)

字符串判等 (10 分)

判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否含有完全相同的字母。

输入格式:
两行,输入两个由大小写字母和空格组成的字符串

输出格式:
若两个字符串含有完全相同的字母(不区分大小写),输出YES,否则输出NO。

输入样例1:
This is a pencil
this is an apple
结尾无空行
输出样例1:
NO
结尾无空行
输入样例2:
Hello World
hello word
结尾无空行
输出样例2:
YES
结尾无空行

a=input()
b=input()
a=a.upper()
b=b.upper()
t=0
a=a.replace(" ","")
b=b.replace(" ","")
for i in a:if i not in b:t+=1
for y in b:if y not in a:t+=1
if  t==0:print("YES")
else:print("NO")

字符串相减 (100 分)

本题要求你计算A-B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B。

输入格式:
输入在2行中先后给出字符串A和B。每个字符串都是由可见的ASCII码组成,最后以换行符结束。

输出格式:
在一行中打印出A-B的结果字符串。

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

I love Python! It’s a fun game!
aeiou
结尾无空行
输出样例1:
在这里给出相应的输出。例如:

I lv Pythn! It’s fn gm!
结尾无空行
输入样例2:
在这里给出一组输入。例如:

good
aeiougd
结尾无空行
输出样例2:
在这里给出相应的输出。例如:

结尾无空行

a=input()
b=input()
for i in a:if i not in b:print(i,end="")

能被3,5和7整除的数的个数(用集合实现) (30 分)

求指定区间内能被3,5和7整除的数的个数

输入格式:
在一行中从键盘输入2个正整数a,b(1<=a<b<=10000000),用空格隔开。

输出格式:
在一行输出大于等于a且小于等于b的能被3,5和7整除的数的个数。

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

10 100
结尾无空行
输出样例1:
在这里给出相应的输出。例如:

0
结尾无空行
输入样例2:
在这里给出一组输入。例如:

1000 100000
结尾无空行
输出样例:
在这里给出相应的输出。例如:

943
结尾无空行

m=input().split()
a=int(m[0])
b=int(m[1])
s=""
t=0
for i in range(a,b):if i %3==0 and i %5==0 and i%7==0:t+=1
print(t)

字典输入输出 (15 分)

从键盘输入一个字典,将该字典的键和值对换后输出。

输入格式:
从键盘输入一个字典。

输出格式:
将该字典的键和值对换后输出。

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

{1:‘a’,2:‘b’,3:‘c’}
结尾无空行
输出样例:
在这里给出相应的输出。例如:

{‘a’: 1, ‘b’: 2, ‘c’: 3}
结尾无空行

dict_ori = eval(input())
dict_new = {value:key for key,value in dict_ori.items()}
print(dict_new)

统计字符频次 (10 分)

输入一个字符串,输出其中出现次数最多的字符及其出现的次数,要求使用字典。

输入格式:
输入任意长度字符串。

输出格式:
字符串中出现次数最多的字符及其次数。

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

abcdsekjsiejdlsjdiejsl
结尾无空行
输出样例:
在这里给出相应的输出。例如:

(‘s’, 4)
结尾无空行

import collections
s=input()
t=0
d=collections.Counter(s)
for i in sorted(d.items(),key=lambda x:x[1],reverse=True):if t==1:breakprint(i)t+=1

统计字符串中每个字符出现的次数 (10 分)

本题目要求读入一个字符串,统计字符串中每个字符出现的次数,输出结果按次数降序排序。

输入格式:
输入一行由任意字符组成的字符串。

输出格式:
输出每个字符出现的次数,输出结果按次数降序排序。

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

This is a good idea.
结尾无空行
输出样例:
在这里给出相应的输出。例如:

: 4
i : 3
s : 2
a : 2
o : 2
d : 2
T : 1
h : 1
g : 1
e : 1
. : 1
结尾无空行

import collections
s=input()
d=collections.Counter(s)
for i in sorted(d.items(),key=lambda x:x[1],reverse=True):print(i[0],end=" : ")print(i[1])

成绩统计2 (10 分)

输入一个正整数n(n>=1),然后输入n行数据,表示的是某班各位同学的各科成绩(每位同学的考试科目都相同),请统计出各门课程的平均分(保留2位小数)。

输入格式:
先一个正整数n(n>=1),然后输入n行数据

输出格式:
输出各门课程的平均分

输入样例:
2
{‘语文’:95,‘数学’:82,‘英语’:75}
{‘语文’:98,‘数学’:72,‘英语’:85}
结尾无空行
输出样例:
语文:96.50
数学:77.00
英语:80.00
结尾无空行

n = int(input())
s = {}
t = 0
for i in range(n):s1 = eval(input())if t != 0:for o in s1.keys():s1[o] = (s[o] + s1[o])s.update(s1)t += 1
for i in s.items():print(i[0],end=":")print("%.2f"%(i[1]/n))

计算积分 (15 分)

女排世界杯参赛队伍为12只,比赛采取单循环方式,五局三胜制,比赛以3-0或者3-1取胜的球队积3分、负队积0分,以3-2取胜的球队积2分、负队积1分;输入n,及n支球队的比分情况,编写程序计算各队的积分,并从高到低排序输出。

输入格式:
先输入一行n表示有n(n>=2)支球队 再输入n行数据表示各队的比分情况,球队名称(不重复)和比分之间用:(英文)分隔,比分用-分隔,如3-0表示该球队获胜,0-3表示该球队输球,每场比分之间用逗号分隔。

输出格式:
按积分从高到低排序,输出球队名称及积分

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

2
中国队:3-0,3-1,3-2,3-1,3-0
美国队:3-1,3-1,0-3,1-3,2-3
结尾无空行
输出样例:
在这里给出相应的输出。例如:

中国队 : 14
美国队 : 7
结尾无空行`

n = int(input())
import re
d={}
for i in range(n):t = 0s = input().split(":")s1 = s[1].split(",")for i in s1:if i == "3-0" or i == "3-1":t += 3if i == "1-3" or i == "0-3":t += 0if i=="3-2":t+=2if i =="2-3":t+=1d.update({s[0]:t})
s=str(sorted(d.items(),key=lambda x:x[1],reverse=True))
s=s.replace("), ('","\n")
s=s.replace(", "," : ")
print(re.sub("[\[+(+)+'+\]+]","",s))

提取数字字符 (10 分)

本题目要求读入一个字符串,提取字符串中的数字字符,连接成最大整数后输出。

输入格式:
输入一行由任意字符组成的字符串。

输出格式:
提取字符串中的数字字符,连接成最大整数后输出。如果不含数字字符,则打印“no”。

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

ssd923ck63,01az…m
结尾无空行
输出样例:
在这里给出相应的输出。例如:

9633210
结尾无空行
输入样例:
在这里给出一组输入。例如:

Hello Python!
结尾无空行
输出样例:
在这里给出相应的输出。例如:

no
结尾无空行

import string
s=input()
y=[]
for i in s :if i.isdigit():y.append(i)
y=list(map(int,y))
y=sorted(y,reverse=True)
if len(y)==0:print("no")
else:for i in y:print(i,end="")

判断两个字符串是否为变位词 (40 分)

如果一个字符串是 另一个字符串的重新排列组合,那么这两个字符串互为变位词。比如,”heart”与”earth”互为变位 词,”Mary”与”arMy”也互为变位词。

输入格式:
第一行输入第一个字符串,第二行输入第二个字符串。

输出格式:
输出“yes”,表示是互换词,输出“no”,表示不是互换词。

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

Mary
arMy
结尾无空行
输出样例1
在这里给出相应的输出。例如:

yes
结尾无空行
输入样例2:
在这里给出一组输入。例如:

hello 114
114 hello
结尾无空行
输出样例2:
在这里给出相应的输出。例如:

yes
结尾无空行
输入样例3:
在这里给出一组输入。例如:

Wellcom
mocllew
结尾无空行
输出样例3:
在这里给出相应的输出。例如:

no
结尾无空行

a = input()
b=input()
f=0
if len(a)!=len(b):f=1
if len(a)==len(b):for i in a:if i not in b:f=1
if f==1:print("no")
else:print("yes")

两数之和 (30 分)

给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 “no answer”。输出的下标按从小到大排序。用一重循环加字典实现。

输入格式:
在一行中给出这组数。 在下一行输入目标数

输出格式:
在一行中输出这两个数的下标,用一个空格分开。

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

2,7,11,15
9
结尾无空行
输出样例1:
在这里给出相应的输出。例如:

0 1
结尾无空行
输入样例2:
在这里给出一组输入。例如:

3,6,9
10
结尾无空行
输出样例2:
在这里给出相应的输出。例如:

no answer
结尾无空行

s = input().split(",")
n = int(input())
s = list(map(int, s))
f=0
for i in range(len(s)):a = n - int(s[i])if a in s:print(i, s.index(a))f = 1break
if f == 0:print("no answer")

字典合并 (40 分)

输入用字符串表示两个字典,输出合并后的字典。字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!

输入格式:
在第一行中输入第一个字典字符串;

在第二行中输入第二个字典字符串。

输出格式:
在一行中输出合并的字典,输出按字典序。

“1” 的 ASCII 码为 49,大于 1,排序时 1 在前,“1” 在后。其它的字符同理。

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

{1:3,2:5}
{1:5,3:7}
输出样例1:
在这里给出相应的输出。例如:

{1:8,2:5,3:7}
输入样例2:
在这里给出一组输入。例如:

{“1”:3,1:4}
{“a”:5,“1”:6}
输出样例2:
在这里给出相应的输出。例如:

{1:4,“1”:9,“a”:5}

d1=eval(input())
d2=eval(input())
d3={}
for i in d1:d3[i]=d1[i]+d2.get(i,0)
for i in d2:if i not in d3.keys():d3[i]=d2[i]
d3=str(dict(sorted(d3.items(),key=lambda  x:x[0] if type(x[0])==int else ord(x[0]))))
d3=d3.replace(' ','')
d3=d3.replace("'",'"')
print(d3)

计算方阵的和,创建新方阵 (30 分)

输入 1 个正整数 n(1≤n),再按行读入 n 阶方阵 a 和 b, 生成并输出 n 阶方阵 c,c 中的元素是 a 和 b 对应元素的和. c[i][j]=a[i][j]+b[i][j] i,j=0,1,2…n-1(1<=c[i]<=99)

输入格式:
在第一行输入n 在第二行输入a方阵 在第一行输入b方阵

输出格式:
输出c方阵

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

3
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
结尾无空行
输出样例:
在这里给出相应的输出。例如:

3 5 7
9 11 13
15 17 10
结尾无空行

n = int(input())
a = input().split()
b = input().split()
s = []
for i in range(len(a)):s.append(int(a[i]) + int(b[i]))
for i in range(len(a)):if i % n == 0 and i != 0:print()print("{:2d} " .format( s[i]), end="")

输出一个 n 阶的方阵 (30 分)

读入 1 个正整数 n(3≤n<9)和 1 个整数 digit(2<=digit<=9), 请输出一个 n 阶的方阵, 该矩阵所有边上的元素都是 digit, 其它元素都是 digit-1.

输入格式:
在一行中输入n和digt

输出格式:
输出n 阶的方阵

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

4 2
结尾无空行
输出样例:
在这里给出相应的输出。例如:

2 2 2 2
2 1 1 2
2 1 1 2
2 2 2 2
结尾无空行

m=input().split()
a=int(m[0])
b=int(m[1])
for i in range (a):if i ==0 or i==a-1:for j in range (a) :print(b,end=" ")if j==a-1:print()else:for j in range(a):if j==0 or j==a-1:print(b,end=" ")else:print(b-1,end=" ")if j==a-1:print()

统计字符串中不同种类的字符个数 (10 分)

本题目要求读入一个字符串,统计字符串中字母、数字、空格、其它字符的个数。

输入格式:
输入一行由任意字符组成的字符串。

输出格式:
统计字符串中字母、数字、空格、其它字符的个数。

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

2a and Am3,MNak888!..
结尾无空行
输出样例:
在这里给出相应的输出。例如:

letters=10,digits=5,spaces=2,others=4
结尾无空行

s = input()
import string
dight=0
let=0
sp=0
o=0
for i in s:if i in string.digits:dight+=1elif i in string.ascii_letters:let+=1elif i==" ":sp+=1else:o+=1
print("letters={},digits={},spaces={},others={}".format(let,dight,sp,o))

汉明距离 (30 分)

两个整数间的汉明距离指的是这两个数对应二进制位不同的位置的数目。输入两个整数x,y, 0<=x,y<=2
31
。输出x,y的汉明距离。

输入格式:
在一行输入x,y。

输出格式:
在一行输出x,y汉明距离。

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

1 4
结尾无空行
输出样例:
在这里给出相应的输出。例如:

2
结尾无空行

s = input().split()
a = bin(int(s[0]))[2::]
b = bin(int(s[1]))[2::]
t = 0
if (len(a) > len(b)):b="0"*(len(a)-len(b))+b
else:a="0"*(len(b)-len(a))+a
for i in range (len(b)):if b[i] !=a[i]:t+=1t+=(len(a)-len(b))
print(t)

阶乘应用 (70 分)

输入大于1的正整数m,计算1×2×3×4×5…×n的积小于m时最大的n。

输入格式:
输入大于1的正整数m

输出格式:
输出n的值

输入样例:
20000
结尾无空行
输出样例:
n= 7
结尾无空行

import math
s=0
i=1
n=int(input())
while(1):s=math.factorial(i)if s>=n:breakelse:i+=1
print("n= %d"%(i-1))

分班统计最喜欢的节目 (10 分)

学校举办的了迎新晚会,1班,2班两个新生班各自统计好班里同学最喜欢的节目。节目编号由一个大写字母代表。统计结果分别已经存放到两个字典中。字典元素的键是节目编号,元素的值是相应节目获得的票数,没有人喜欢的节目不用记录。如:字典{‘Q’:10,‘A’:22,‘X’:28} 表示,喜欢Q节目的有10位同学,喜欢A节目的有22位同学,喜欢X节目的有28位同学。输入两个班级的统计结果。将合并后的统计结果按节目编号的字母顺序打印出来。(注意,如果1班有10个同学喜欢Q节目,2班有15个同学喜欢Q节目,则合并后,有25个同学喜欢Q节目)

输入格式:
输入两个字典,一行一个。字典元素的键是节目编号(大写字母),元素的值是相应节目获得的票数。

输出格式:
按字母顺序输出合并后的统计结果。每个节目占一行,以“节目编号:统计票数”的形式打印。

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

{‘Q’:10,‘A’:22,‘X’:28}
{‘A’:30,‘D’:1,‘Q’:15,‘B’:13}
结尾无空行
输出样例:
在这里给出相应的输出。例如:

A:52
B:13
D:1
Q:25
X:28
结尾无空行

a = eval(input())
b = eval(input())
for i in b:if i in a:a.update({i:a[i]+b[i]})else:a.update({i:b[i]})
a=sorted(a.items(),key=lambda x:x[0])
a=str(a).replace("', ",":")
a=a.replace(" ","")
a=str(a).replace(",","\n")
a=str(a).replace("('","")
a=a.replace("[","")
a=a.replace("]","")
a=a.replace(")","")
print(a)

考拉兹猜想(高教社,《Python编程基础及应用》习题6-11) (4 分)

考拉兹猜想(Collatz conjecture)又称奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2。 如此循环,最终都能得到1。编写一个程序,输入一个正整数,打印其考拉兹序列。

输入格式:
1个>1的正整数

输出格式:
以逗号分隔的考拉兹序列。

输入样例:
5
结尾无空行
输出样例:
16,8,4,2,1
结尾无空行

n = int(input())
while (1):if n==1:breakif n % 2 ==0:n=n/2else:n=n*3+1if n!=1:print(int(n),end=",")
print(1)

找出肇事者,循环与布尔逻辑(高教社,《Python编程基础及应用》习题6-6) (6 分)

在视线不太好的黑夜一司机撞伤行人之后逃逸,有3个目击者记住了该车的部分车号特征。 甲说:“车牌号的前两位相同,且末位数是奇数”;乙说:“车牌号的后两位加起来等于5”; 丙说:“车牌号是一个N位数,并且能被3整除”。请你写一个程序,该程序接受一个正整数N(>=3), 找出肇事车可能的车牌号。

输入格式:
一个>=3的正整数

输出格式:
全部可能的车牌号(一行一个,按递增序)

输入样例:
3
结尾无空行
输出样例:
441
结尾无空行

n = int(input())for i in range(1, 10):t = ""t += str(i)t += str(i)m = str(int(t)+1)for j in range(n - 2):t += "0"m += "0"for i in range(int(t), int(m)):if i%3==0 and int(str(i)[n-1])+int(str(i)[n-2])==5 and int(str(i)[n-1])%2!=0:print(i)

求完全数的字典集 (30 分)

本题目要求读入2个正整数m和n,且m<n,求[m,n]之间所有的完全数,并形成字典。完全数:除了自己本身以外所有因子的和等于本身的数。例如6的因子为1,2,3,1+2+3=6,6即为完全数。

输入格式:
以空格分隔输入m,n两个数。

输出格式:
输出得到的字典。

输入样例1:
6 80
结尾无空行
输出样例1:
{6: [1, 2, 3], 28: [1, 2, 4, 7, 14]}
结尾无空行
输入样例2:
-8 -5
结尾无空行
输出样例2:
wrong input
结尾无空行

s=input().split()
a=int(s[0])
b=int(s[1])
d={}
for i in range(a,b+1):y=[]for j in range(1,i):if i%j==0:y.append(j)if sum(y)==i:d.update({i:y})
if len(d)!=0:print(d)
else:print("wrong input")

字符串的美化 (10 分)

输入一行以空格作为分隔符的任意字符串,对其按下列要求处理后输出:

删除所有的数字字符
删除单词中的破折号-
删除以@和#字符开头的单词
删除单词尾部有三个点的省略号(…)
输入格式:
输入非空的字符串。

输出格式:
输出处理后的字符串

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

#1: welcome @tom to the2 Basic-building…
结尾无空行
输出样例:
在这里给出相应的输出。例如:

welcome to the Basicbuilding
结尾无空行

s = input()
import re
t=""
s = re.sub("[\d,\-,...,]", "", s)
s=s.split()
for i in s:if i[0]=="#" or i[0]=="@":continuet+=i+" "print(t.strip())

数字三角形 (10 分)

输入一个正整数n和一个数字字符c,输出n行由字符为c构成的三角形。格式参照输出样例。注意,每行的行末无空格。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试,输入一个正整数n(n≤35)和一个字符c(数字字符)。

输出格式:
对于每组测试,输出数字三角形。

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

2
3 9
9 3
结尾无空行
输出样例:
在这里给出相应的输出。例如:

9
999
99999
3
333
33333
3333333
333333333
33333333333
3333333333333
333333333333333
33333333333333333

n=int(input())
for i in range(n):s=input().split()a=int(s[0])b=int(s[1])for i in range(1,a+1):for j in range(a-i):print(" ",end="")for i in range(2*i-1):print(b,end="")print()

求矩阵每列的最大值 (10 分)

编写程序实现:用3*5的整型矩阵a接收标准输入的数据,计算数组a的每列元素的最大值,并将第i列最大值存入max相应的第i个元素。

输入格式:
标准输入的每一行表示矩阵a中的一行数据,以空格作为间隔。

输出格式:
标准输出的一行表示max中的元素,用空格作为间隔;

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

1 2 3 4 5
6 7 8 9 0
3 5 7 9 1
结尾无空行
输出样例:
在这里给出相应的输出。例如:

6 7 8 9 5
结尾无空行
作者
郭丽
单位
中原工学院
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
Python (python3)

p=""
a=[[0]*5for i in range(3)]
for i in range(3):a[i]=list(input().split())
for j in range(5):t=[]for i in range (3):t.append(a[i][j])p=p+str(max(t))+" "
print(p)

成绩统计1 (10 分)

输入一个正整数n(n>=1),然后输入n行数据,表示的是某班各位同学的各科成绩,请统计出各门课程的最高分。

输入格式:
先一个正整数n(n>=1),然后输入n行数据

输出格式:
输出各门课程的最高分

输入样例:
2
{‘语文’:95,‘数学’:82,‘英语’:75}
{‘语文’:98,‘数学’:72,‘英语’:85}
结尾无空行
输出样例:
语文:98
数学:82
英语:85
结尾无空行

n=int(input())
d={}
for i in range(n):s=eval(input())for i in s.items():if i[0] not in d:d.update({i})else:if i[1]>d[i[0]]:d[i[0]]=i[1]else:continue
for i in d.items():print(i[0],end=":")print(i[1])

6-4 写函数求满足要求三位数的个数 (10 分)
要求实现一个函数,统计给定区间内的三位数中至少有两位数字相同的完全平方数(如144、676)的个数。

函数接口定义:
search(n);
其中传入的参数n是一个三位数的正整数。函数search返回[101, n]区间内所有满足条件的数的个数。

裁判测试程序样例:
/* 请在这里填写答案 */

n = int(input())
cnt = search(n)
print (‘count={}’.format(cnt))
输入样例:
500
结尾无空行
输出样例:
count=6
结尾无空行

def search(n):cnt = 0for x in range(11, 32):if x ** 2 > n:breakif len(set(str(x ** 2))) < 3:cnt += 1return cnt

jmu-python-组合数 (10 分)

本题要求编写程序,根据公式 11.jpg 算出从n个不同元素中取出m个元素(m≤n)的组合数。

输入格式:
输入在一行中给出两个正整数m和n,以空格分隔。

如果输入数据负数,能输出提示不能负数
如果输入数据出发非法数据,能输出提示请输入数值 (数值异常处理)
输出格式:
按照格式result = 组合数计算结果输出。

输入样例:
2 7
结尾无空行
输出样例:
result=21.00
结尾无空行

def judge(m):sum = 1for i in range(1, m+1):sum *= ireturn sumdef cal(n, m):now_n = judge(n)now_m = judge(m)now_n_m = judge(n-m)return now_n/(now_m*now_n_m)m, n = list(input().split())
flag = True
flag2 = True
try:m, n = int(m), int(n)
except:print("请输入数值")flag = False
if flag:if m > 0 and n > 0:print("result={:.2f}".format(cal(n,m)))else:print("不能负数")

.十进制转十六进制 (10 分)

这是一个编程题模板。请在这里写题目描述。例如:本题目要求读入2个整数A和B,然后输出它们的和。

输入格式:
请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数A和B。

输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。

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

31
结尾无空行
输出样例:
在这里给出相应的输出。例如:

31D is 1FH
结尾无空行

import math
x=int(input())
k=list(hex(x))
del k[0]
del k[0]
lenn=len(k)
for i in range(lenn):if k[i].isalpha():k[i]=k[i].upper()
k=''.join(k)
print('{}D is {}H'.format(x,k))

求指定层的元素个数 (40 分)

输入一个嵌套列表,再输入层数,求该层的数字元素个数。

输入格式:
第一行输入列表 第二行输入层数

输出格式:
在一行中输出元素个数

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

[1,2,[3,4,[5,6],7],8]
3
结尾无空行
输出样例:
在这里给出相应的输出。例如:

2
结尾无空行

a = eval(input())
b = int(input())
def sum(n, j):sums = 0if isinstance(n, int) and j == b:sums += 1if isinstance(n, list):for i in n:sums += sum(i, j + 1)return sums
print(sum(a, 0))

列表数字元素加权和(2) (40 分)

输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素
的值为:元素值*1,第二层每个元素的值为:元素值*(-2),第三层每个元素的值为:元素值*3,
第四层每个元素的值为:元素值*(-4),…,以此类推!
输入格式:
在一行中输入列表

输出格式:
在一行中输出加权和

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

[1,2,[3,4,[5,6],7],8]
输出样例:
在这里给出相应的输出。例如:

16
结尾无空行

def f(l,deep):sum=0for i in l:if isinstance(i,int):sum+=i*deep*(-1)**(deep+1)elif isinstance(i,list):sum+=f(i,(deep+1))return sum
l=eval(input())
print(f(l,1))

删除多余字符串 (10 分)

输入一行以空格作为分隔符的任意字符串,对其按下列要求处理后输出: 删除所有的数字字符 删除单词中的破折号- 删除以@和#字符开头的单词 删除单词尾部有三个点的省略号(…) 如果所有字符串都被删除掉,输出none

输入格式:
输入非空的字符串。

输出格式:
输出处理后的字符串

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

#1: welcome @tom to the2 Basic-building…
结尾无空行
输出样例:
在这里给出相应的输出。例如:

welcome to the Basicbuilding
结尾无空行
输入样例:
在这里给出一组输入。例如:

#1: #2 @222
结尾无空行
输出样例:
在这里给出相应的输出。例如:

none
结尾无空行

s=input()
a=""
b=""
for i in range(len( s)):if s[i]=="." or s[i]=="-" or s[i].isdigit():a+=""else:a+=s[i]
a=a.split()
for i in a:if i[0]=="#" or i[0]=="@":continueelse:b+=i+" "
b=b.strip()
if len(b)==0:print("none")
else:print(b)

输出A以内能被B整除的数 (10 分)

本题目要求读入2个不超过100的非0正整数A和B,然后输出(0,A]中所有能被B整除的数。

输入格式:
输入在一行中给出2个不超过100的非零正整数A和B。

输出格式:
对每一组输入,在一行中输出(0,A]中所有能被B整除的数,数字之间用空格分隔,最后一个数字后面没有空格。 如果没有这样的数,输出“None.”

输入样例1:
37 5
结尾无空行
输出样例1:
5 10 15 20 25 30 35
结尾无空行
输入样例2:
37 40
结尾无空行
输出样例2:
None.
结尾无空行

s = input().split()
a = int(s[0])
b = int(s[1])
m = ""
for i in range(1, a+1):if i % b == 0:m += str(i) + " "
m=m.strip()
if len(m) != 0:print(m)
else:print("None.")

jmu-python-逆序输出 (5 分)

输入一行字符串,然后对其进行如下处理。

输入格式:
字符串中的元素以空格或者多个空格分隔。

输出格式:
逆序输出字符串中的所有元素。
然后输出原列表。
然后逆序输出原列表每个元素,中间以1个空格分隔。注意:最后一个元素后面不能有空格。

输入样例:
a b c e f gh
结尾无空行
输出样例:
ghfecba
[‘a’, ‘b’, ‘c’, ‘e’, ‘f’, ‘gh’]
gh f e c b a
结尾无空行

a = input()
b = a.split()
for i in range(len(b) - 1, -1, -1):print(b[i], end="")
print()
print(b)
for i in range(len(b)-1,-1,-1):print(b[i],end=" "if b[i]!=b[0]else"")

求所有N位的素数和 (15 分)

输入一个正整数n(n>=2),输出所有n位的素数和,如n=2,即输出的是10-99之间的所有素数的和。

输入格式:
一个正整数n(n>=2)

输出格式:
输出所有n位的素数和

输入样例:
2
结尾无空行
输出样例:
10-99之间所有的素数和=1043
结尾无空行

import maths = int(input())
m = pow(10, s-1)
m1 = pow(10, s )
y = [1] * (m1 + 1)
for i in range(4, m1):if i % 2 == 0:y[i] = 0else:y[i] = 1
for i in range(2, int(math.sqrt(m1))):p = 3while (i * p <= m1):y[i * p] = 0p += 2
t=0
for i in range(m, m1):if y[i] == 1:t+=i
print("{}-{}之间所有素数和={}".format(m,m1-1,t))

逢七拍手游戏 (20 分)

逢七拍手游戏规则是:从1 开始顺序数数,数到有包含有7或者7的倍数的时候拍手。编写程序实现逢七拍手游戏,输入整数n ,输出 n 以内(包含n)的需要拍手的数字,数字之间用1个空格分隔。

输入格式:
输入 一个整数

输出格式:
输出满足条件的所以数据,用空格分隔

输入样例:
30
结尾无空行
输出样例:
7 14 17 21 27 28
结尾无空行

s = input()
s1=""
for i in range(1,int(s)):if int(i) % 7 == 0:s1+=str(i)+" "elif "7" in str(i):s1+=str(i)+" "
print(s1)

完全数 (10 分)

完全数,指所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。本题目要求读入2个整数A和B,输出该范围内的所有完全数(A<=完全数<=B)。

输入格式:
输入在一行中给出2个整数A和B。

输出格式:
以“完全数=约数1+约数2+…”的格式,输出该范围(A<=完全数<=B)内的所有完全数,每个完全数占一行。若该范围内没有完全数,则打印“no”。

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

1 100
结尾无空行
输出样例:
在这里给出相应的输出。例如:

6=1+2+3
28=1+2+4+7+14
结尾无空行
输入样例:
在这里给出一组输入。例如:

10 20
结尾无空行
输出样例:
在这里给出相应的输出。例如:

no
结尾无空行

import maths = input()
s = s.split()
a = int(s[0])
b = int(s[1])
p=0
for i in range(a, b):t = 0m = 0c=0for j in range(1, i):if (i % j == 0):t += jm += 1if (t == i):print(t, end="=")for o in range(1,t):if (t % o == 0):c+=1if c==m:print(o)else:print(o, end="+")p=1
if p==0:print("no")

输出倒三角 (100 分)

输入任意一个字符,打印以该字符构成的倒三角形(4行)。

输入格式:
输入一个字符,如:*

输出格式:

输入样例:
*
结尾无空行
输出样例:



*   **

结尾无空行

s=input()
print("{}   {}   {}   {}".format(s,s,s,s))
print("  {}   {}   {}".format(s,s,s))
print("    {}   {}".format(s,s))
print("      {}".format(s))

合并两个列表并去重 (10 分)

输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10; 合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 同时为保证输出结果一致,请将集合内元素排序之后再输出。 如对于列表alist,可输出sorted(alist)。

输入格式: 共两行,每一行都用来输入列表中的元素值,以空格隔开(可能不至一个空格 )。

输出格式: 共一行,以列表形式打印输出。

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

1 2 3
4 3 2
结尾无空行
输出样例:
在这里给出相应的输出。例如:

[1, 2, 3, 4]
结尾无空行

a=list(map(int,input().split()))
b=list(map(int,input().split()))
for i in b:if i not in a:a.append(i)
print(sorted(a))

python PTA合集相关推荐

  1. 福利来啦!Python资料合集免费领!!!

    资料合集免费领:https://t.csdnimg.cn/xxWg 2020年转眼已过大半,在近一年的编程语言榜单中,Python已经走上卫冕的道路,并且与Java的差距拉得更远了一些.以往与Java ...

  2. python机器人算法_机器人实用Python代码合集,5大类算法助你搞定自主导航

    迷之栗 发自 凹非寺 量子位 出品 | 公众号 QbitAI "有代码么?" 每每写到某实验室的机器人,解锁了厉害的操作,评论区很容易生出这样的问题. 然而,答案常常略带伤感,不好 ...

  3. python常用编程代码大全_DL编程常用python命令合集

    1. 列表list操作 排序 2. 文件相关的操作 路径和文件名分离 文件复制 glob获取文件绝对路径 前缀后缀判断 3. 字符串str操作 分割切片 4. 其他问题 自定义的py文件import后 ...

  4. 25 个超棒的 Python 脚本合集(迷你项目)

    激动的心,颤抖的手. 微信搜索关注<Python学研大本营>,加入读者群,分享更多精彩 在本文中,我编译了 25 个 Python 程序的集合. 我已包含链接以了解有关每个脚本的更多信息, ...

  5. Python 基础合集11:文件读写

    一.前言 本小节梳理了读写文件的基本用法,介绍了路径的写法.open()函数的用法和with关键字,并准备了图片.音频.视频进行演习操作. 环境说明:Python 3.6.windows11 64位 ...

  6. Python 函数合集:足足 68 个内置函数请收好

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来源:pypypypy www.cnblogs.com/pypypy/p/12011506.h ...

  7. python知识合集

    python安装包管理  http://www.cnblogs.com/wilber2013/p/4769467.html python pip安装源管理:pypi官网的源不太好,网速慢,容易造成包下 ...

  8. 阿里巴巴400集python教程_阿里巴巴推荐的400集Python视频合集免费学起来,学完万物皆可爬...

    Python是一种跨平台的计算机程序设计语言.随着版本的不断更新和语言新功能的增加越多的被用于大型的,独立的开发,是高级语言中的胶水语言,被无数人追捧! 随着社会发展的越来越快,Python的优点马上 ...

  9. Python函数合集:足足68个内置函数请收好!

    来源: https://www.cnblogs.com/pypypy/p/12011506.html 内置函数就是python给你提供的, 拿来直接用的函数,比如print.,input等.截止到py ...

  10. python实用脚本 知乎_停课不停学|38 个免费 Python 项目合集,从小白到老司机!...

    1665 年,牛顿在剑桥三一学院就读期间,伦敦发生了著名的鼠疫.这场鼠疫几乎摧毁了整个伦敦城,无论是下层人民还是王室贵族都难逃魔掌,几乎五分之一的伦敦人都在这场鼠疫中丧生. 牛顿被迫回家进行自我隔离, ...

最新文章

  1. python表白源代码加音乐_python炫酷烟花表白源代码
  2. 【信号发生器】基于quartusii的信号发生器的设计
  3. java栈存储_【转载】Java中的数据存储(堆、栈、常量池)
  4. 10月碎碎念--谈如何做选择
  5. WordCount--统计输入文件的字符数、行数、单词数(java)--初级功能
  6. win2003 IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)
  7. 色差仪软件的安装和电池充电
  8. python使用-使用python进行数据清洗
  9. C# 3.0语言新特性(语言规范):4 对象和集合初始化器
  10. Web加固linux,Linux安全加固之中间件Tomcat
  11. 计算机考试后勤保障管理制度,计算机在高校后勤管理的应用
  12. ICON 文件构成 及 制作工具
  13. Ubuntu设置静态IP地址的几种方法
  14. 华为手机什么时候更新鸿蒙系统_华为鸿蒙2.0系统什么时候可以用 华为鸿蒙2.0系统升级方法介绍[多图]...
  15. 计算机工作原理【操作系统和进程】
  16. SystemC自带example的pipe研习
  17. vue3项目源码汇集
  18. Cache 的地址映像方式(4种)
  19. 基于51单片机控制的篮球比赛计时、计分系统设计与仿真(含设计图和C语言程序源码)
  20. Kaggle系列-IEEE-CIS Fraud Detection第一名复现

热门文章

  1. 周鸿祎带头,十家安全公司接受了这些尖锐拷问
  2. CS:GO开服架设服务器搭建游戏配置方法教程教学插件配置下载资源配置
  3. Python爬虫学习之路——python IED工具介绍(一)
  4. 软工网络15个人阅读作业1-评分发布
  5. DEBIAN_FRONTEND noninteractive参数
  6. 浙江大学数据结构第一讲:1.1什么是数据结构
  7. 计算机应用新媒体是什么,新媒体概念,什么是新媒体
  8. Linux入坑手册(鸟哥的私房菜)
  9. 本安计算机电缆执行标准,阻燃本安计算机信号电缆ZR-IA-DJYPVRP-1*2*1.5
  10. 苹果android系统版本,给Mac装上的Android系统?Remix OS PC版