day31_华为机试模拟题HJ1、2、4、9、10、12

1、字符串的最后一个单词长度(HJ1)

题目描述:
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:

一行字符串,非空,长度小于5000。

输出描述:

整数N,最后一个单词的长度。

示例1
输入

hello world

输出

5

代码:

str = input().strip().split()
print(len(str[len(str)-1]))
  • strip(): 去除字符串头尾指定字符(默认空格)
  • split():通过指定分割符号对字符串进行切p片

2、计算字符个数(HJ2)

写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入描述:

第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。

输出描述:

输出输入字符串中含有该字符的个数。

示例1
输入

ABCDEF
A

输出

1

代码:

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

3、字符混串分割(HJ4)

连续输入字符串(输入2次,每个字符串长度小于100)

输出描述:

输出到长度为8的新字符串数组

示例1
输入

abc
123456789

输出

abc00000
12345678
90000000

代码:

def splitstr(str):
	if len(nums) <= 8:
		n = 8 - len(str)
		print(str + '0* n)
	else:
		print(str[:8])
		str = str[8:]
		splitstr(str)
a = input()
b = input()
splitstr(a)
splitstr(b)

4、提取不重复的整数(HJ9)

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1
输入

9876673

输出

37689

代码:

result = ""
for i in input()[::-1]:
    if i not in result:
        result += i
print(result)

5、字符数统计(HJ10)

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
输入

abaca

输出

3

输入描述:

输入N个字符,字符在ACSII码范围内。

输出描述:

输出范围在(0~127)字符的个数。

示例1
输入

abc

输出

3

代码:

num = input()
dict = []
for i in range(len(num)):
    if num[i] not in dict and 0 <= ord(num[i]) <= 127:
        dict.append(num[i])
print(len(dict))

6、字符串反转(HJ12)

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述:

输入N个字符

输出描述:

输出该字符串反转后的字符串

示例1
输入

abcd

输出

dcba

代码:

num = input()
print(num[::-1])
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页