所以我有一个列表hand
,它的数据是这样的['AS','AD','AC','CH','CS']
。现在我必须找到列表中每个元素的第一个字符,看看是否有3个相同的字母和2个相同的字母。
注意:它们必须是有序的。。总是像x,x,x,y,y或y,y,x,x,x。任何其他组合,如x,y,y,x,x或x,y,x,y,x将返回False
比如说
['AS','AD','AC','CH','CS']
返回True
,因为有3个A和2个C。
['AS','SD','SC','CH','CS']
返回False
,因为顺序不对
['CS','CD','AC','AH','AS']
返回True
,因为有3个A和2个C
['AS'、'CD'、'DC'、'AH'、'CS']
返回False
,因为没有一个字符出现3次和2次。
这是我到目前为止的代码,它不起作用...
hand = ['AS', 'AD', 'AC', 'CH', 'CS']
updated_hands = list([x[1] for x in hand])
if ((updated_hands[0] == updated_hands[1] == updated_hands[2]) or (updated_hands[2] == updated_hands[3] == updated_hands[4])) and ((updated_hands[3] == updated_hands[4]) or (updated_hands[0] == updated_hands[1])):
print('True')
else:
print('False')
我应该对此进行哪些更改?
Lets Make it Simple.
hand = ['AS', 'AD', 'AC', 'CH', 'CS']
a = [sorted(han[0][0]) for han in hand]
import itertools
b = itertools.chain(*a)
c = list(b)
d = [han[0][0] for han in hand]
if c == d:
print(True)
else:
print(False)
=======================================================================
You Can Get Any List From user.
您可以从用户处获取列表
这是我将采取的方法,这实际上与您尝试过的方法相同,但我只是稍微扩展了一下,试图使其更具可读性。我认为你得到的可能是“正确的”,但是作为一个衬里这样做的复杂性隐藏了一个小错误。
def test_list(hand):
test1 = all(let[0] == hand[0][0] for let in hand[:3])
test2 = all(let[0] == hand[0][0] for let in hand[:2])
test3 = all(let[0] == hand[2][0] for let in hand[2:])
test4 = all(let[0] == hand[3][0] for let in hand[3:])
if (test1 and test3) or (test2 and test4):
print("True")
else:
print("False")
hand1 = ['AS', 'AD', 'AC', 'CH', 'CS']
hand2 = ['AS', 'SD', 'SC', 'CH', 'CS']
hand3 = ['CS', 'CD', 'AC', 'AH', 'AS']
hand4 = ['AS', 'CD', 'DC', 'AH', 'CS']
test_list(hand1) #prints True
test_list(hand2) #prints False
test_list(hand3) #prints True
test_list(hand4) #prints True
下面是一些应该适用于任意长度和顺序的东西:
hands = [['AS', 'AD', 'AC', 'CH', 'CS']]
hands.append(['AS', 'SD', 'SC', 'CH', 'CS'])
hands.append(['CS', 'CD', 'AC', 'AH', 'AS'])
hands.append(['AS', 'CD', 'DC', 'AH', 'CS'])
for hand in hands:
condition = True
last_count = 1
last_item = hand.pop(0)[0]
while hand:
item = hand.pop(0)
if (item[0] == last_item):
last_count += 1
if (last_item != item[0]):
if (last_count == 2) or (last_count == 3):
condition = True
else:
condition = False
break
last_item = item[0]
print(condition)
输出:
True
False
True
False
因此,我试图分析我的元组集,看看对于该集中的x,是否有两对分别由2个元素和3个元素组成的元素。 所以就像每个第一个字符一样,必须有3个相同的字符和2个相同的字符。。。 但它们必须是连接的,例如如果有3A和2C,则顺序只能是AAAAC或CCAAA,而不能是CACAA或ACCAA等 那么比如说,, 下面是我对代码的尝试 然而,我的代码只有在它是一个列表时才起作用。。。当我放入一组元组时,它不起作用。。
编写一个方法,根据字符(char)[输入]是否是要编码的有效字符,返回true或false。即,如果输入[输入字符]为'a'-'z'或'a'-'z',则返回true,否则返回false。 为什么我的答案错了???? 公共静态布尔isValidChar_Q1(char chr){ }
这三个函数的返回类型提示有什么不同吗? 他们都应该有< code>- 提问的动机是这个问题,这个很好的答案,以及我正在学习类型提示的事实。
我做了一个quizz程序,我用一个.txt文件做了一个字典,里面有西班牙语和英语单词,并且让程序问英语中的西班牙语单词的等价物。 在我的.txt文件中的一些答案对一个英语单词有西班牙语2个答案。 示例“School:El colegio,la Escuela”现在我的程序识别了这个,并打印出“Enter 1 equality...word[1]”两次,但我希望输出为:(粗体是用户输入的) 当“Wo
你好,我有一个查询,我想把结果变成对象列表,而不是实体。但结果实际上是一个对象,我应该把它转移到我的对象。有没有办法直接映射到我的自定义对象?
问题内容: 如果我有一个看起来像这样的MySQL表: 是否可以运行MySQL查询以获取如下输出: 这个想法可能会有所不同,因此输出列的数量应反映出这一点,每列/ 每对对应一列,然后每列的匹配数。我不确定这是否称为数据透视表,但有人建议这样做吗? 问题答案: 这基本上 是 数据透视表。 可以在此处找到有关如何实现此目标的不错的教程:http : //www.artfulsoftware.com/in