首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以给定格式接收二维数组的用户输入。

以给定格式接收二维数组的用户输入。
EN

Stack Overflow用户
提问于 2016-06-09 18:14:31
回答 3查看 1.2K关注 0票数 0

我有一个二维6x6数组,A。我希望用户以下列格式或示例输入它的值:

代码语言:javascript
运行
复制
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0

其中0表示用户将写入值的位置。

这是我的密码。它返回split()中的一个错误。

代码语言:javascript
运行
复制
def arr_input(x):
    for i in range(6):
         for j in range(6):
              n = int(input().split(' '))
              if n>=-9 and n<=9:
                   x[i][j] = n
    print "\n"

我不想在一行中输入。请帮帮我!

编辑1我需要的代码已经提供了:D.不过,我学到了一些新的和有帮助的东西。下面是执行我想要的任务的现有代码:

代码语言:javascript
运行
复制
arr = []
for arr_i in xrange(6):
    arr_temp = map(int,raw_input().strip().split(' '))
    arr.append(arr_temp)
EN

Stack Overflow用户

回答已采纳

发布于 2016-06-09 18:31:24

首先,您使用的是input(),当您在终端中输入数字时返回int。您应该使用raw_input()并逐行获取它。

第二,您正在尝试将列表转换为整数,您应该循环遍历列表值,然后在结果列表上进行转换和插入。

固定代码:

代码语言:javascript
运行
复制
def arr_input(x):
    for i in range(6):
        num_list = raw_input().split(' ')
        for j, str_num in enumerate(num_list):
            n = int(str_num)
            if n >= -9 and n <= 9:
                x[i][j] = n
    print "\n"

在这里,我使用enumerate()通过每次迭代获得它的索引来循环数字列表。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37733366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档