一维数组和二维数组元素搜索

时间:2020-09-30 11:06:50

标签: python arrays

我正在创建一个彩票程序,在其中我将使用随机数生成所有内容,并将它们存储在1D数组和2D数组中。第一个数组(1D)包含8个获胜数字,分为2组,分别称为g1和g2。第二个数组(2D)包含玩家及其编号。

对于2D数组中的每个玩家,我需要通过将他们与获胜人数进行比较来确定他们是否是获胜者。例如,如果来自玩家的任何数字也包含在获胜数字中,我需要对它们进行计数,并确定它们是否是该类别的获胜者。

他们有四个班级 第1类-拥有全部6个中奖号码的玩家 2级-具有5个获胜号码的玩家 3级-具有4个中奖号码的玩家 第4类-具有来自g1组的任意3个中奖号码或少于3个号码且具有来自g2组的两个号码的玩家

否则,他们输了

如果玩家输入了自己的ID,它还应该返回玩家编号,以及是否赢得(1,2,3,4)级别的玩家

playerID = 2
playerID = input("Please enter player ID ")
if playerID is in a winner it should return 
     playerID
     playerNum
     winner or not with the class

1 个答案:

答案 0 :(得分:0)

issubset可以帮助您匹配数组元素。请记住,issubset不需要元素的顺序相同。但这正是我建议这样做的原因-因为在彩票中顺序并不重要。

Solution= [1,2,3,4] 
userGuess= [1,2,3,4]
otherGuess= [2,3,4]
badGuess= [4,5,6]

if set(userGuess).issubset(set(Solution)):
    return True // TRUE

if set(otherGuess).issubset(set(Solution)):
    return True // TRUE

if set(badGuess).issubset(set(Solution)):
    return True // FALSE

如果您不希望较短的子集有效,则可以检查数组的长度以匹配。