Python 基于ID的二维阵列数据检索

Python 基于ID的二维阵列数据检索,python,arrays,multidimensional-array,Python,Arrays,Multidimensional Array,基本上,我正在创建一个小的彩票程序,我想做一个功能,用户可以输入他/她的id,它会给出他们的号码,让他们知道他们是否是赢家 玩家编号存储在2D数组**(不是numpy)**中,如下所示[[2,17,19,19,21,29,8,17],[9,5,17,18,23,28,2,2]]因此,如果玩家以1的形式输入其id,那么它应该完全返回第二个数组,因为我想检查该玩家是否是赢家 我已经完成了下面的操作,但它不起作用,当我单独运行它时,播放器检查部分确实起作用 索引器错误:列表索引超出范围 player

基本上,我正在创建一个小的彩票程序,我想做一个功能,用户可以输入他/她的id,它会给出他们的号码,让他们知道他们是否是赢家

玩家编号存储在2D数组**(不是numpy)**中,如下所示
[[2,17,19,19,21,29,8,17],[9,5,17,18,23,28,2,2]]
因此,如果玩家以1的形式输入其
id,那么它应该完全返回第二个数组,因为我想检查该玩家是否是赢家

我已经完成了下面的操作,但它不起作用,当我单独运行它时,播放器检查部分确实起作用

索引器错误:列表索引超出范围

player = [[2, 17, 19, 19, 21, 29, 8, 17],[9, 5, 17, 18, 23, 28, 2, 2],[5, 8, 18, 18, 29, 30, 25, 26],[5, 6, 15, 13, 23, 24, 12, 12]]
win = [2, 17, 19, 19, 21, 29, 8, 17]
group1 = set(win[0:6])
group2 = set(win[6:8])
playerID = int(input("Please enter player ID "))
print(playerID)
print(player[playerID])
for i in player[playerID]:
    count = 0
    for j in range(6):
        x = player[i][j]
        if x in group1:
            count+=1
            print("score")
        if j == 5:
            if count == 6:
                print("You are a winner")
            elif count == 5:
                print("You win with 5 numbers" )
            elif count == 4:
                print("You win with 4 numbers")
            elif count == 3:
              print(  "you win with 3 numbers")
            elif count < 3:              
                    count2 = 0
                    for l in range(6,8):
                        y = player[i][l]
                        if y in group2:
                            print("you win with bouns numbers")
            else: 
                print("sorry you lose")
            

 
player=[[2,17,19,19,21,29,8,17],[9,5,17,18,23,28,2,2],[5,8,18,18,29,30,25,26],[5,6,15,13,23,24,12,12]]
赢=[2,17,19,19,21,29,8,17]
group1=set(赢[0:6])
组2=集合(赢[6:8])
playerID=int(输入(“请输入玩家ID”))
打印(playerID)
打印(玩家[playerID])
因为我在玩家[playerID]中:
计数=0
对于范围(6)内的j:
x=玩家[i][j]
如果x在组1中:
计数+=1
打印(“分数”)
如果j==5:
如果计数=6:
打印(“你是赢家”)
elif计数==5:
打印(“你用5个数字赢了”)
elif计数==4:
打印(“你用4个数字赢了”)
elif计数==3:
打印(“你用3个数字赢了”)
elif计数<3:
count2=0
对于范围(6,8)内的l:
y=玩家[i][l]
如果y在第2组中:
打印(“你用bouns数字赢了”)
其他:
打印(“对不起,你输了”)

一开始你把我弄糊涂了。您使用的不是数组,而是列表列表。数组在python中是特定的(来自数组模块),并且总是1D

话虽如此,您的代码(使用列表列表)是正确的。只有当用户输入且ID>3时,您才会收到错误消息