关于#Python#的问题,如何解决?

img

img

img


第一题是计算天数,第二题是求扑克牌的排序,第三张图是第二道题的翻译,用Python答题

如下:

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))

对于第三道题,其实是第二题的翻译,可以直接使用第二题的代码来解决。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632