下面是Python实现读取字符串按列分配后按行输出的完整攻略。
步骤一:字符串读取
我们可以使用Python中的input()函数来实现字符串的读取。
# 输入字符串
strs = input()
步骤二:字符串按列分配
将一行字符串按列分配可以采用遍历字符串的方式,然后将字符按列填充到新的字符串列表中。
# 将字符串按列填充到字符串列表中
string_list = []
for idx, c in enumerate(strs):
if idx % n == 0:
string_list.append('')
string_list[-1] += c
我们可以将以上代码封装为一个函数来进行调用。
def assign_columns(s: str, n: int) -> List[str]:
"""
将一行字符串按列分配到字符串列表中
Args:
s: 待分配的字符串
n: 按列分配的列数
Returns:
按列分配后的字符串列表
"""
string_list = []
for idx, c in enumerate(s):
if idx % n == 0:
string_list.append('')
string_list[-1] += c
return string_list
步骤三:字符串按行输出
将字符串列表按行输出可以用join方法来实现。
# 将字符串列表按行输出
for s in string_list:
print(s)
我们也可以将以上代码封装为一个函数来进行调用。
def print_rows(string_list: List[str]) -> None:
"""
将字符串列表按行输出
Args:
string_list: 要输出的字符串列表
"""
for s in string_list:
print(s)
示例说明:
例如,我们有一个字符串"123456789",要将其分配到三列中,并按行输出:
# 读取字符串
s = "123456789"
# 将字符串按列分配
string_list = assign_columns(s, 3)
# 将字符串列表按行输出
print_rows(string_list)
输出结果:
123
456
789
再例如,我们有一个字符串"abcdefghijklmnopqrstuvwxyz",要将其分配到五列中,并按行输出:
# 读取字符串
s = "abcdefghijklmnopqrstuvwxyz"
# 将字符串按列分配
string_list = assign_columns(s, 5)
# 将字符串列表按行输出
print_rows(string_list)
输出结果:
abcde
fghij
klmno
pqrst
uvwxy
z
到此,这个Python实现读取字符串按列分配后按行输出的攻略就完成了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现读取字符串按列分配后按行输出示例 - Python技术站