如何在python中将用户输入存储到数组中的指定索引中

如何在python中将用户输入存储到数组中的指定索引中,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我的家庭作业有问题,我需要向用户询问一个号码和位置,然后将该号码存储到列表中的特定位置。我的python技能非常基本,但如果有任何帮助,我将不胜感激 问题: 两名玩家轮流在数组中的任何空位置插入一个0到9的数字。每个玩家可以选择任何剩余号码,但每个号码只能使用一次 假设发生的情况的示例: 玩家1:你是第二号?七, 要输入的位置?九, 职位:12345678910 | | | | | | | | |7| | 我失败的尝试: data = [] x = raw_input('integ

我的家庭作业有问题,我需要向用户询问一个号码和位置,然后将该号码存储到列表中的特定位置。我的python技能非常基本,但如果有任何帮助,我将不胜感激

问题:

两名玩家轮流在数组中的任何空位置插入一个0到9的数字。每个玩家可以选择任何剩余号码,但每个号码只能使用一次

假设发生的情况的示例:

玩家1:你是第二号?七,

要输入的位置?九,

职位:12345678910

     | | | | | | | | |7| |
我失败的尝试:

data = []

x = raw_input('integer: ')

for i in range(10):

    data.insert(9, x)


print(data)
如果可以的话,你需要给它足够的位置

代码的问题就在这里

for i in range(10):

    data.insert(9, x)
您正在位置9插入一个新项目。。。但是,数组为空,因此在python中,在原始输入()处没有要插入的位置9。

raw\u input()
返回字符串,而不是整数。要将其转换为整数,需要执行
x=int(原始输入('integer:')

然后,insert函数应该可以正常工作,但请注意,您只是将相同的整数添加到每个插槽中

首先列出一个空值列表:

data = [' ']*10
然后只需执行
data[9-1]=str(x)
。没有
列表。需要插入
:),也没有任何循环

请记住,索引从0开始,所以您所说的第9位python认为是第8位。

试试:

data=[-1]*10 #initialize data to length 10 with invalid values for input
x = -1
while not (0<=x<=9):
    try:
        x=raw_input("integer : ")
    except ValueError:
        print("enter an integer")
data[9] = x 
data=[-1]*10#使用无效的输入值将数据初始化为长度10
x=-1
而不是(0我的成功尝试:

data = ['']*10

x = raw_input('integer: ')
position_to_be_entered=9
data[position_to_be_entered-1]=int(x)


print data
data = ['']*10

x = raw_input('integer: ')
position_to_be_entered=9
data[position_to_be_entered-1]=int(x)


print data