如下:
import random
value=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
color=['Spades','hearts','plum blossoms','diamonds']
cards = value*4
cards.append('SKing')
cards.append('BKing')
res=[]
while len(res) < 5: # 取5张牌
index = random.randint(0,len(cards))
if index == 52:
res.append('SKing')
elif index == 53:
res.append('BKing')
else:
c = int(index/13)
v = index - 13*c
ak =[]
ak.append(color[c])
ak.append(value[v])
s = ' '.join(ak)
if s not in res:
res.append(s)
print(res)
参考GPT和自己的思路:
对于第一道题,可以使用Python中的date和datetime模块来进行日期计算。需要注意的是,日期字符串需要先转换为date类型才能进行计算。具体的代码实现可以参考以下示例:
from datetime import date
start_date = date(2019, 11, 29)
end_date = date(2020, 12, 5)
delta = end_date - start_date
print(delta.days)
对于第二道题,可以先将扑克牌的数字和花色进行分离,然后再进行排序。具体的代码实现可以参考以下示例:
cards = ['4H', 'KD', 'JC', '10S', '9S', '3H', 'AS', '8D', '2C', '5D']
def sort_cards(cards):
values = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
suits = ['C', 'D', 'H', 'S']
sorting_order = [(v, s) for s in suits for v in values]
sorted_cards = sorted(cards, key=lambda card: sorting_order.index((card[:-1], card[-1])))
return sorted_cards
print(sort_cards(cards))
对于第三道题,其实是第二题的翻译,可以直接使用第二题的代码来解决。