我很困惑,我正在尝试,但我不认为我得到了想要的东西

时间:2013-04-08 14:51:51

标签: python python-3.x

我真的很困惑,需要你帮助我试过但不要以为我得到了我应该

  

5a上。 (5分)写一个函数将输入参数作为整数x,   并生成一个包含多个0的列表并返回该列表   5b。(6   pts)现在编写一个函数,将输入参数作为相同的参数   整数,并使用第一个函数生成一个x列表的列表   0(因此您将附加在第一个函数中创建的列表   到你的新名单上。

     

5c。(6分)最后,编写第三个函数   循环5次。每次都会生成第一个随机数(a)   介于0和x之间,然后介于0和x之间的第二个随机数(b)。   它使用这两个数字来更改[a] [b]中的列表列表   -1。你刚刚把你的战列舰放在了板上(有点 - 我知道战列舰的长度不同。我不想让你的战舰复杂化   这是随机长度战舰)。

#5a

def lister(x):
    return([0]*x)

print(lister(15))


#5b

def lister2(x):
    return [lister(x)]*x

print(lister2(3))

#5c

def looplist(x):
    n=5
    a=lister2(x)
    while n>0:
        r1=randrange(0,(x))
        r2=randrange(0,(x))
        a[r1]=-1
        a[r2]=-1
        print(a)
        n-=1

looplist(4)

1 个答案:

答案 0 :(得分:0)

我相信你想要在最后的方法中做的是:

a[r1][r2]=-1

您创建了一个二维数组,因此第一部分a[r1]将为您提供一个列表,位于[r1]的列表,然后,在此列表中,您可以访问位置r2,并且将值修改为-1

另外,我认为简单的for将比使用while循环的当前解决方案更具可读性:

for _ in range(5):
     #generate the two rands, etc