我的问题是,当尝试遍历包含“卡”的字符串(即“ 10D,AC,8S等”)时,我正在搜索“ 10”,但是使用下面的代码,我找到了前十张卡,但不是第二个。为什么?我可以提高我的代码效率吗?

码:

import itertools
def best_hand(hand):
    hand = hand.lower()
    for item in hand:
        if "0" in hand:
            zero_index = hand.index("0")
            zero_index = int(zero_index)
        try:
            one_index = zero_index-1
            suit_index = zero_index+1
        except:
            pass
        string_tens = str(hand[one_index]+hand[zero_index]+hand[suit_index].upper())
        print string_tens
    hand = "p"
    list1 = []
    list1.append(hand)
best_hand("JH QS KC 10D AC 3H 10S" )


该代码是针对Udacity上的“七张卡片梭哈”挑战编写的。

最佳答案

如果您不喜欢re

>>> a = "KD JC 8D 101 7S 10D 100H AS 10C"
>>> print [i for i in a.split() if i.startswith("10") and i[2].isalpha()]
['10D', '10C']
>>>

关于python - 尝试遍历一个字符串,找到一个特定的数字,但没有找到重复的内容(python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34525711/

10-10 23:11