7-1 获取列表中内容相同的元素

定义两个列表, 列表1包含元素三个元素,分别为11, 22, 33 列表2包含元素三个元素,分别为22, 33, 44。

输入样例:

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

输出样例:

22
33

参考答案

lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
i = 0
while i < len(lst1):
    if lst1[i] in lst2:
        print(lst1[i])
    else:
        pass
    i += 1

7-2 显示数字出现次数

输入一个十进制正整数,转换成16进制数。再输入一个数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f),统计这个数出现的次数。

输入样例1:

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

84117512 
8

输出样例1:

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

3

输入样例2:

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

46883310
e

输出样例2:

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

2

参考答案

str=hex(int(input()))
target=input()
str_p=str[2:]
lst=list(str_p)
print(lst.count(target))

7-3 将实数排序

输入若干个数(可能有整数和带小数的浮点数),升序排序后输出。

输入样例:

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

4 5.12 67 3.14 99.5 2 7

输出样例:

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

2 3.14 4 5.12 7 67 99.5

参考答案

alist = list(map(eval,input().split(' ')))
blist = sorted(alist)
print(*blist)

7-4 求最大值和次最大值

输入一个整数列表,求出其中的最大值和次最大值。

输入格式:

输入一个元素都是整数的列表(假设列表中的整数一定是至少有两种不同的值)。

输出格式:

以“max=?, smax=?”的形式,输出列表中的最大值和次最大值(最大值和次最大值是不同的整数)

输入样例:

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

[4,9,5,3,9,7,2]

输出样例:

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

max=9, smax=7

参考答案

def deleteDuplicatedElementFromList(list):
    resultList = []
    for item in list:
        if not item in resultList:
            resultList.append(item)
    return resultList


pre=input()
pre_1=pre[1:-1]
lst = pre_1.split(',')
lst=deleteDuplicatedElementFromList(lst)
maxnum=max(lst)
lst.remove(maxnum)
smaxnum=max(lst)
print("max="+maxnum+',',"smax="+smaxnum,)

7-5 挑选出个位数字和最高位数字相同的整数

在一些整数中,挑选出个位数字和最高位数字相同的整数。

输入格式:

输入若干个整数,以空格分隔。

输出格式:

打印其中个位数字和最高位数字相同的整数。如果没有这样是整数,则输出空行

输入样例1:

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

23 45 66 7237 123 313 666 5

输出样例1:

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

66 7237 313 666 5

输入样例2:

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

34 56 78866 22

输出样例2:

在这里给出相应的输出(空行)。例如:

 

参考答案

pre=input()
lst = pre.split(' ')
lst2=[]
for item in lst:
    if item[0]==item[-1]:
        lst2.append(item)
    else:
        pass
    
print(*lst2, sep=' ')

7-6 输出字母在字符串中位置索引

输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。

输入格式:

第一行输入字符串
第二行输入两个字符,用空格分开。

输出格式:

从右向左输出字符和索引,即下标最大的字符最先输出。每行一个。

输入样例:

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

pmispsissippi
s p

输出样例:

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

11 p
10 p
8 s
7 s
5 s
4 p
3 s
0 p

参考答案

str1 = input()
a,b = map(str,input().split(" "))
s = str1[::-1]
for i in range(0,len(s)):
    if s[i] == b or s[i] == a:
        print(len(s)-i-1,s[i])

7-7 从列表中删除元素

删除列表中所有符合条件的值。

输入格式:

输入n,代表要测试n次。每次测试: 首先,输入1行字符串(字符串内的元素使用空格分隔) 然后,输入要删除的元素x。

输出格式:

输出删除元素x后的每行字符串。如果元素全部被删除,则输出空行。 注意:行尾不得有多余的空格。

输入样例:

5
1 1 1 2 1 2 1 1 1
1
1 1 1 2 2 2 1 1 1
2
ab ab ab cd cd de de
ab
1 1 1 1
1
x y x x x z
t

输出样例:

2 2
1 1 1 1 1 1
cd cd de de

x y x x x z

参考答案

n=int(input())
for i in range(n):
    s=[]
    s1=[]
    s=input().split()
    c=input()
    for j in s:
        if j!=c:
            s1.append(j)
    print(' '.join(s1))

7-8 求出歌手的得分

输入一个正整数n (n>4),再输入n个实数,求出歌手的得分(保留2位小数)。设一歌唱评奖晚会上有n(n>4)个评委为歌手打分.评分规则:每个评委依次打分,再去掉2个最高分和2个最低分,计算余下的分数平均值为歌手的得分。

输入格式:

在第一行中输入n 在第二行中输入n个分数

输出格式:

在一行中输出平均分数

输入样例:

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

10
10 10 9 9 9 8 8 8 7 7

输出样例:

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

aver=8.50

参考答案

n = int(input())
num = [int(n) for n in input().split()]
num.sort()
for i in range(0,4):
    num1 = num.pop(-1)
    num.reverse()
nsum = 0
for j in range(len(num)):
    nsum += num[j]
avg = nsum / len(num)
print("aver={:.2f}".format(avg))

7-9 特定矩阵元素和

给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。

输入格式:

输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个数,其间以空格分隔。

输出格式:

在一行中给出该矩阵主、副对角线的所有元素之和,保留两位小数。

输入样例1:

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

4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1

输出样例1:

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

21.00

输入样例2:

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

3
1 2 3
4 5 6
7 8 9

输出样例1:

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

25.00

参考答案

num = int(input())
s=[]
sum1=0
sum2=0
for i in range(num):
    str1=input().split(' ')
    s.append(str1)
for i in range(num):
    for k in range(num):
        if i==k:
            sum1+=float(s[i][k])
    for j in range(num):
        if i+j==num-1:
            sum2+=float(s[i][j])
if num%2!=0:
    sum2=sum2-float(s[num//2][num//2])
print("{:.2f}".format(sum1+sum2))

7-10 矩阵行、列、对角线和的最大值

求一个3*3矩阵每行、每列及对角线和的最大值。

输入格式:

在一行输入9个整数。

输出格式:

在一行输出每行、每列及对角线和的最大值。

输入样例:

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

3 6 5 9 8 2 1 4 5

输出样例:

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

19

参考答案

num=list(map(int,input().split()))
l=[]
l.append(num[0]+num[4]+num[8])
l.append(num[2]+num[4]+num[6])
for i in range(0,6,3):
    l.append(num[i]+num[i+1]+num[i+2])
for j in range(0,3,1):
    l.append(num[j]+num[j+3]+num[j+6])
print(max(l))

7-11 两数之和

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

输入格式:

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

输出格式:

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

输入样例1:

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

2,7,11,15
9

输出样例1:

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

0 1

输入样例2:

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

3,6,9
10

输出样例2:

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

no answer

参考答案

lst = list(map(int, input().split(',')))
n = int(input())
d = {}
for i in lst:
    d[i] = n - i
for key, val in d.items():
    if key in lst and val in lst:
        print(lst.index(key), lst.index(val))
        break
else:
    print('no answer')

7-12 统计单词数-应用

在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。 注1:单词之间以空格(1个或多个空格)为间隔。 注2:忽略空行或者空格行。

要求:

统计前,需要从文字中删除指定标点符号!.,:*?#和0至9的数字。 注意:所谓的删除,就是用1个空格替换掉相应字符。 统计单词时需要忽略单词的大小写。 单词个数为0时。只需显示“0”。

输入格式:

若干行英文,最后以%%%为结束。

输出格式:

单词数量 出现次数排名前6的单词(次数按照降序排序,如果次数相同,则按照键值的字母升序排序)及出现次数。

输入样例:

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

Failure is probably The fortification in your pole!

It#is like a1 peek your wallet as the thief when You
are thinking how2 to. spend several hard-won lepta.

when yoU are? wondering whether new money it#has laid
background Because of: yOu5?, then at the6 heart of the
Tom say: Who is the best? No one dare to say yes.
most lax alert and! most low awareness and* left it
%%%
godsend failed it is
!!!!!

输出样例:

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

52
the=5
is=3
it=3
you=3
and=2
are=2

参考答案

words = ""
while True:
    a = input()
    if a == "%%%":
        break
    a = a.lower()
    for i in "!.,:*?#012345689":
        a = a.replace(i, ' ')
    words = words + " " + a
words = words.split()
s = {}

for i in words:
    if i in s:
        s[i] += 1
    else:
        s[i] = 1

s = list(s.items())
s.sort(key = lambda x:x[0])
s.sort(key = lambda x:x[1], reverse = True)
print(len(s))

for i in range(6):
    word,count = s[i]
    print("{}={}".format(word, count))

我们所度过的每个平凡的日常,也许就是连续发生的奇迹