题目描述:


思路解析:

1、用 range() 内置函数进行迭代遍历。

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

函数语法:

range(stop) 
range(start, stop[, step])

参数说明:

start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有5;

step:步长,默认为1。例如:range(0, 5)等价于 range(0, 5, 1)。

有两个参数或三个参数的情况:

>>>list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]

>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> list(range(1, 0))
[]

2、Python format 格式化函数:

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。  基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受无限个参数,位置可以不按顺序。 

实例:

>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob"))
 
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

输出结果为:
网站名:菜鸟教程, 地址 www.runoob
网站名:菜鸟教程, 地址 www.runoob
网站名:菜鸟教程, 地址 www.runoob

数字格式化:

0:0<8s——填充右边,长度不是 8 整数倍的字符串在后面补数字0。


代码实现:

while True:
    try:
        a = input()
        for i in range(0, len(a), 8):
            print("{0:0<8s}".format(a[i:i+8]))
    except:
        break

更多推荐

HJ4 字符串分隔range()函数 python