我的洗牌程序只给我花色的梅花

My shuffle card program is only giving me clubs as the suit

我正在做一个编程class我必须做一个洗牌,我真的很难过。我的大部分代码都是不必要的,因为我们正在学习函数。我想我的一切都是正确的,但我的输出只给我梅花。

import random

def define_cards():
    rank_string = ("ace","two","three","four","five","six","seven","eight","nine","ten","jack","queen","king")
    suit_string = ("clubs","diamonds","hearts","spades")
    cards = []
    for suit in range(4):
        for rank in range(13):
            card_string = rank_string[rank] + " of " + suit_string[suit]
            cards.append(card_string)
        return cards

def create_deck(deck):
    for i in range(52):
        deck.append(i)
        return

def shuffle_deck(deck):
    random.shuffle(deck)
    return

def deal_card(deck):
    return deck.pop(0)

deck=[]

deck = define_cards()
shuffle_deck(deck)
print ("The first 10 cards are:")
for i in range(10):
    card = deal_card(deck)
    print (card)

结果应该是一样的,但花色是随机的。 请帮帮我!!!

在define_cards函数中return应该在for循环之外。

create_deck 函数相同。

def define_cards():
    rank_string = ("ace","two","three","four","five","six","seven","eight","nine","ten","jack","queen","king")
    suit_string = ("clubs","diamonds","hearts","spades")
    cards = []
    for suit in range(4):
        for rank in range(13):
            card_string = rank_string[rank] + " of " + suit_string[suit]
            cards.append(card_string)
    return cards