Python列表的应用

倒序输出

First

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
s=[]
for i in range(10):
s.append(int(input()))
for i in range(9,-1,-1):
print(s[i])
##input:1 output:10
## 2 9
## 3 8
## 4 7
## 5 6
## 6 5
## 7 4
## 8 3
## 9 2
## 10 1

Second

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
s=[]
for i in range(10):
s.append(int(input()))
for i in range(10):
print(s[9-i])

##input:1 output:10
## 2 9
## 3 8
## 4 7
## 5 6
## 6 5
## 7 4
## 8 3
## 9 2
## 10 1

将字符串列表转换为数值

First

1
2
3
4
5
6
7
8
9
s=input("")
l=s.split()
l2=[]
for e in l:
l2.append(int(e))
print(l2)

##input:1 2 5 7 9
##output:[1, 2, 5, 7, 9]

Second

1
2
3
4
5
a=list(map(int,input().split()))
print(a)

##input:1 2 5 7 9
##output:[1, 2, 5, 7, 9]

实际应用

输入任意10个范围是1~10的数字,计算它们出现的次数,没出现的不输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a=list(map(int,input().split()))
counters=[0]*11
for e in a:
counters[e]+=1
for i in range(1,11):
if counters[i]>0:
print("{}:{} times".format(i,counters[i]))

##input:1 5 4 2 2 3 3 6 7 5
##output: 1:1 times
## 2:2 times
## 3:2 times
## 4:1 times
## 5:2 times
## 6:1 times
## 7:1 times

输入任意10个范围是1~10的数字,求众数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a=list(map(int,input().split()))
counters=[0]*11
for e in a:
counters[e]+=1
max=0
for i in range(0,11,1):
if counters[i]>max:
max=counters[i]

for i in range(0,11,1):
if counters[i]==max:
print("{}:{} times".format(i,max))

##input:1 5 4 2 2 3 3 6 7 5
##output: 2:2 times
## 3:2 times
## 5:2 times

input和output的输出格式有一点点问题,后续会更正,它们正确的看法应该是对齐的~