tongqingliu

保持学习的态度

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

牛客网华为机试题之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'))

未完待续……

posted on 2018-01-29 23:57  tongqingliu  阅读(1593)  评论(0编辑  收藏  举报

导航