【华为机试Python3题解】【四种方法】HJ4字符串分隔

阅读: 评论:0

【华为机试Python3题解】【四种方法】HJ4字符串分隔

【华为机试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

本文发布于:2024-01-29 16:08:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651571816476.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:华为   题解   四种   字符串   方法
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23