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