本文主要是介绍【华为机试Python3题解】【四种方法】HJ4字符串分隔,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 题目介绍
- 题解1:使用ljust方法,不断自迭代打印
- 题解2:先格式化字符串再打印
- 题解3:先填充0再统一打印
- 题解4:先打印输入的字符串,再打印需要填充的0
题目介绍
- 原题链接:HJ4 字符串分隔
- 描述:输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 - 输入描述:连续输入字符串(每个字符串长度小于等于100)
- 输出描述:依次输出所有分割后的长度为8的新字符串
- 示例1
输入:
输出:abc
abc00000
题解1:使用ljust方法,不断自迭代打印
- 语法:str.ljust(width[, fillchar]):
- 参数介绍:
width
:指定字符串长度。
fillchar
:填充字符,默认为空格。 - 返回值:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
try:while True:s = input()while len(s):print(s[:8].ljust(8, '0'))s = s[8:]
except EOFError:pass
题解2:先格式化字符串再打印
:0
:数字补0 (填充右边)
<
:左对齐
8s
:占位符8位
:0<8s
右补零,左对齐,占8位
try:while True:s = input()for i in range(0, len(s), 8):print('{:0<8s}'.format(s[i:i+8]))
except EOFError:pass
题解3:先填充0再统一打印
try:while True:s = input()length = len(s)if not length % 8 == 0:for i in range(8 - length % 8):s += '0'cnt = 0for i in s:cnt += 1if not cnt % 8:print(i)else:print(i, end='', sep='')
except EOFError:pass
题解4:先打印输入的字符串,再打印需要填充的0
while True:try:cnt = 0for i in input():if cnt % 8 == 0 and cnt:print()print(i, sep='', end='')cnt += 1zN = 8 - cnt % 8if zN == 8:continuefor i in range(zN):print('0', sep='', end='')print()except EOFError:break
这篇关于【华为机试Python3题解】【四种方法】HJ4字符串分隔的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!