华为python机试题购物单_牛客网华为机试题之Python解法

本文提供了华为Python机试的一些题目及解法,包括字符串处理、进制转换、质因数分解、数字操作等多个方面,帮助考生熟悉考试题型。
摘要由CSDN通过智能技术生成

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

未完待续……

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值