You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向二维字符数组中自定义输入行列数据并按格式输出?

如何向二维字符数组的行列中输入自定义数据?

原代码问题分析

原代码有两个核心问题:

  1. 每次添加到矩阵的是固定的['a', 'b', 'c','d', 'e']列表,完全忽略了用户输入的列数;
  2. 第二个for循环缩进错误,嵌套在第一个循环内部,导致每添加一行就重复打印多次整个矩阵。

解决方案

根据需求提供两种实现方式:

方式一:自动按字母顺序生成对应尺寸的字符矩阵

如果希望自动生成类似a b c、d e f这种连续字符的矩阵,可利用ASCII码特性实现:

rows = int(input("请输入行数:"))
cols = int(input("请输入列数:"))
matrix = []
current_char = ord('a')  # 从字母a开始

for i in range(rows):
    row = []
    for j in range(cols):
        row.append(chr(current_char))
        current_char += 1
    matrix.append(row)

# 按格式打印矩阵
for row in matrix:
    print('  '.join(row))

运行示例(输入3行3列):

请输入行数:3
请输入列数:3
a  b  c
d  e  f
g  h  i

方式二:手动输入每个位置的字符

如果需要自定义每个位置的字符,让用户逐个输入:

rows = int(input("请输入行数:"))
cols = int(input("请输入列数:"))
matrix = []

for i in range(rows):
    row = []
    print(f"请输入第{i+1}行的{cols}个字符(用空格分隔):")
    # 获取用户输入并拆分
    chars = input().strip().split()
    # 确保输入的字符数量符合列数
    while len(chars) != cols:
        print(f"输入错误,请输入{cols}个字符,用空格分隔:")
        chars = input().strip().split()
    row.extend(chars)
    matrix.append(row)

# 按格式打印矩阵
print("\n生成的矩阵:")
for row in matrix:
    print('  '.join(row))

运行示例(输入3行3列,自定义输入):

请输入行数:3
请输入列数:3
请输入第1行的3个字符(用空格分隔):
x y z
请输入第2行的3个字符(用空格分隔):
m n o
请输入第3行的3个字符(用空格分隔):
p q r

生成的矩阵:
x  y  z
m  n  o
p  q  r

内容的提问来源于stack exchange,提问作者Quiambao Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:51:19