python实现对指定字符串补足固定长度倍数截断输出的方法

yipeiwu_com6年前Python基础

简单的小练习,注意考虑全可能就行,下面是实现:

#!usr/bin/env python
#encoding:utf-8
 
'''
__Author__:沂水寒城
功能:•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 
   •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
'''
 
def func_test():
  '''
  补足固定长度倍数输出
  '''
  a=raw_input()
  b=raw_input()
  len_a=len(a)
  len_b=len(b)
  a_list=[]
  b_list=[]
  if a == '':
    print a
  if b == '':
    print b
  else:
    if len_a==8:
      print a
    if len_b==8:
      print b
    if len_a!=8:
      if len_a<8:
        a+='0'*(8-len_a)
        a_list.append(a)
      else:
        need_a=8-len_a%8
        a+='0'*need_a
        len_a=len(a)
        for i in range(0,len_a,8):
          a_list.append(a[i:i+8])  
    for one in a_list:
      print one    
    if len_b!=8:
      if len_b<8:
        b+='0'*(8-len_b)
        b_list.append(b)
      else:
        need_b=8-len_b%8
        b+='0'*need_b
        len_b=len(b)
        for i in range(0,len_b,8):
          b_list.append(b[i:i+8])  
    for two in b_list:
      print two    
      
 
if __name__ == '__main__':
  func_test()

结果如下:

'''
***********************正常的处理情况*****************************
urivthvtlqqerctlxmjvkgvfclaaduwmaadedpadanl
batkqdhjnrwtsmzidswdnenqpsblsszldyttytrgenaizwehntqiaaufble
urivthvt
lqqerctl
xmjvkgvf
claaduwm
aadedpad
anl00000
batkqdhj
nrwtsmzi
dswdnenq
psblsszl
dyttytrg
enaizweh
ntqiaauf
ble00000
***********************输入为空值的情况*****************************
 
'''

以上这篇python实现对指定字符串补足固定长度倍数截断输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现从一组颜色中找出与给定颜色最接近颜色的方法

本文实例讲述了python实现从一组颜色中找出与给定颜色最接近颜色的方法。分享给大家供大家参考。具体分析如下: 这段代码非常有用,可以找到指定颜色相似的颜色,比如有一组8个颜色,现在给定...

python 图片验证码代码

下面是一个实战项目的结果。 复制代码 代码如下:#coding: utf-8 import Image,ImageDraw,ImageFont,os,string,random,Imag...

python rsa 加密解密

最近有需求,需要研究一下RSA加密解密安全;在网上百度了一下例子文章,很少有文章介绍怎么保存、传输、打印加密后的文本信息,都是千篇一律的。直接在一个脚本,加密后的文本信息赋于变量,然后立...

python实现在一个画布上画多个子图

python实现在一个画布上画多个子图

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 均匀画图 使用import导入matplotlib.pyplot模块, 并简写...

python3实现逐字输出的方法

如下所示: import sys,time def print_one_by_one(text):     sys.stdout.write("\r "...