python只搜索具有int和str的列表中的int

时间:2015-11-26 15:28:39

标签: python python-2.7

我正在尝试在pyton上创建一个扑克应用程序 我目前正在处理的问题是这个 首先,我需要告诉你我有4个阵列。

  1. NUMBERS = [2,3,4,5,6,7,8,9,10,“J”,“Q”,“K”,“A”]
  2. COLORS = [“黑桃”,“红心”,“钻石”,“俱乐部”]
  3. DECK(来自附加NUMBERS和COLORS所以它有[“黑桃”,2],[“黑桃”,3])等。)
  4. PLCARDS1(包含来自.DECK的1张卡片[“Spades”,“A”])
  5. PLCARDS2(也包含来自DECK的1张卡)
  6. PLCARDS(包含PLCARDS1和PLCARDS2)
  7. RIVER(包含来自DECK的5张卡)
  8. 所以一切都是对的。我的意思是每张牌对每个人都不同,你可以打一轮(没有获胜者) 我需要将PLCARDS与RIVER进行比较,以便我可以找到例如玩家是否有一对(“A”和“A”)。
    我的问题是我需要比较数组的第二部分。 我试过这个

       if PLCARDS1 == NUMBERS:  
            if NUMBERS == RIVER:  
                pair += pair 
    

    这不起作用,因为它在NUMBERS = [2,3,4,5,6,7,8,9,10,“J”,“Q”,“K”中搜索[“黑桃”,7] “,”A“]

    是否有功能或某种东西隔离了阵列的右/左部分?

1 个答案:

答案 0 :(得分:0)

您可以使用splicing。 在你的情况下,你只能通过

获得整数
NUMBERS[:9]

只有字符串

NUMBERS[9:]

此外,我认为你的问题不只是拼接,而是你需要更好地理解python作为语言。我想这是一个练习,不是吗? 例如,如果您需要处理卡片,我会给您2条建议:

  1. 对NUMBERS中的每个元素使用str:

    NUMBERS = [“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”, “K”,“A”]

  2. 因为您不需要将它们视为int

    1. 在你的牌组和牌中,识别牌使用元组: DECK = [(“黑桃”,“2”),(“黑桃”,“3”),等等]
    2. 在数组和元组中,您可以使用[]表示法来访问元素,因此如果您需要检查手中 i 卡的颜色,可以这样做:< / p>

      if PLCARDS[i][0] == "Spades":
      

      为了更好地理解,请查看this