小编B. *_*Lop的帖子

while not __ 和 while __ == false 之间的区别?(Python)

我试图区分 while 循环的不同编写方式。

我是专门为区分不同手型的扑克游戏写这篇文章的。在编写我的is_pair函数时,我首先说pair = False. 我发现继续循环的唯一方法是如果我说while pair == False: .... 对于我的is_flush函数,我可以设置flush = Truewhile运行循环while flush,继续循环直到flush不再为真。

我试过了,while not pair:但没有奏效。我希望它继续,同时pairFalse如此,当它已经发现了一双它将返回作为True

我认为 for 的语句flush看起来更简洁,我想知道是否有另一种方法可以将该样式合并到我的 pair 函数中。

python syntax

1
推荐指数
1
解决办法
5861
查看次数

如何比较两个排序列表以查找具有更大数字的列表?

我想比较两个列表中的元素.两个列表都包含数字,并从最大到最小排序.我想找到编号最高的列表.如果它们包含相同的最高编号,我想查看下一个最高编号等.

如果我有一个清单: [14, 5, 4, 3, 2]

我将它与以下内容进行比较: [14, 7, 4, 3, 2]

第二个列表会更大,因为下一个最高的数字是7.

同样,如果我有一个清单: [13, 12, 9, 7, 3]

和: [13, 12, 9, 8, 2]

第二个将是两者中较大的一个.

任何帮助,将不胜感激!

我尝试了以下建议之一:

def compare_high_card(hand_a,hand_b):'''确定哪个牌有最高的牌,如果hand_a牌高,则返回1,如果hand_b有high_card,则返回-1:param hand_a:比较的第一手:param hand_b:第二个手比较:返回:1如果hand_a有更高的卡,-1如果hand_b有更高的卡'''

hand_a = sort_hand_by_value(hand_a)
hand_b = sort_hand_by_value(hand_b)

hand_length = 5

for index in range(hand_length):

    if hand_a[index] > hand_b[index]:
        higher_hand =  1
        break
    elif hand_b[index] > hand_a[index]:
        higher_hand = -1
        break
    else:
        higher_hand = 0

return higher_hand
Run Code Online (Sandbox Code Playgroud)

hand_a = [14,1,9,4,2] hand_b = [14,1,8,5,2,2]

此代码仅打印出-1.

python list

-3
推荐指数
1
解决办法
108
查看次数

标签 统计

python ×2

list ×1

syntax ×1