我真的很困惑,需要你帮助我试过但不要以为我得到了我应该
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)
答案 0 :(得分:0)
我相信你想要在最后的方法中做的是:
a[r1][r2]=-1
您创建了一个二维数组,因此第一部分a[r1]
将为您提供一个列表,位于[r1]的列表,然后,在此列表中,您可以访问位置r2
,并且将值修改为-1
。
另外,我认为简单的for将比使用while循环的当前解决方案更具可读性:
for _ in range(5):
#generate the two rands, etc