牛客网华为机试题之Python解法

2022-10-30,,,,

牛客网华为试题之Python解法

第1题 字符串最后一个单词的长度

a = input().split(" ")
print(len(a[-1]))

第2题 计算字符个数

a = input()
b = input()
print(a.lower().count(b.lower()))

第3题 明明的随机数

while True:
try:
num = int(input())
data = []
for i in range(num):
data.append(int(input()))
data = list(set(data))
data = sorted(data)
for i in data:
print(i)
except:
break

第4题 字符串分隔

def stringSplit(s):
while len(s)>8:
print(s[0:8])
s = s[8:len(s)]
print(s+(8-len(s))*'0') stringSplit(input())
stringSplit(input())

第5题 进制转换

while True:
try:
print(str(int(input(),16)))
except:
break

第6题 质数因子

def primeFactor(a):
res = []
while a>1:
for i in range(2,a+1):
if a%i == 0:
res.append(i)
a = int(a/i)
break
return res a = primeFactor(int(input()))
for i in a:
print(i,end=" ")

第7题 取近似值

def myround(a):
if 10*a%10>=5:
return int(a)+1
else:
return int(a) print(myround(float(input())))

第8题 合并表记录

a = input()
d = {}
for i in range(int(a)):
b = list(map(int, input().split(' ')))
if b[0] not in d.keys():
d[b[0]] = b[1]
else:
d[b[0]] += b[1] for key in d.keys():
print(key, d[key])

第9题 提取不重复的整数

a = input()
s = ''
for i in range(len(a)-1,-1,-1):
if a[i] not in s:
s += a[i]
print(s)

第10题 字符个数统计

s = input()
a = []
for i in s:
if 0 <= ord(i) <= 127 and i not in a:
a.append(i)
print(len(a))
s = input()
d = {}
for i in s:
if 0 <= ord(i) <= 127:
d[i] = 1
print(sum(d.values()))

第11题 数字颠倒

a = input()
b = ''
for i in a[::-1]:
b += i
print(b)

第12题 字符串反转

a = input().split(' ')
print(' '.join(a[::-1]))

第13题 句子逆序

a = int(input())
b = []
for i in range(a):
b.append(input())
for i in sorted(b):
print(i)

第14题 字串的连接最长路径查找

a = int(input())
b = []
for i in range(a):
b.append(input())
for i in sorted(b):
print(i)

第15题 求int型数据在内存中存储时1的个数

print(bin(int(input())).count('1'))

未完待续……

牛客网华为机试题之Python解法的相关教程结束。

《牛客网华为机试题之Python解法.doc》

下载本文的Word格式文档,以方便收藏与打印。