一、合并表记录
题目:
思路:双重循环遍历对比,这里我事先排了序,这样不相等时立即跳出,可节约一点点时间,我在增加之后,将后一项值改为0,因为题目说值是大于0的。比较完之后,将值为0的项删除即可
代码:
import copy
n = int(input())
m = []
for i in range(n):
m.append(list(map(int,input().split())))
m.sort()
for i in range(n-1):
for j in range(i+1,n):
if m[i][0] == m[j][0]:
m[i][1] = m[i][1] + m[j][1]
m[j][1] = 0
else:
break
re = copy.deepcopy(m)
num = 0
for i in range(n):
if m[i][1] == 0:
re.pop(i-num)
num = num + 1
for i in range(len(re)):
print(re[i][0],re[i][1])
二、提取不重复整数
题目:
代码:
a = list(str(input()))
a.reverse()
b = ''
for i in range(len(a)):
if a[i] not in b:
b = b+a[i]
print(b)
三、字符个数统计
题目:
代码:
a = input()
b = list(a)
c = list(set(b))
num = 0
for i in range(len(c)):
if ord(c[i]) >= 0 and ord(c[i]) <=127:
num = num +1
print(num)
四、数字颠倒(字符串反转)
题目:(这两道题,代码相同)
代码:
a = list(str(input()))
a.reverse()
for i in range(len(a)):
print(a[i],end='')
五、句子逆序
题目:和上面一个题也几乎一样
代码:
a = list(map(str,input().split()))
a.reverse()
for i in range(len(a)):
print(a[i],end=' ')
六、字符串排序
题目:
代码:
n = int(input())
m =[]
for i in range(n):
a = str(input())
m.append([a[0],a])
m.sort()
for i in range(n):
print(m[i][1])
七、求int型正整数在内存中存储时1的个数
题目:
代码:
n = int(input())
m = str(bin(n))
num = m.count('1')
print(num)