Je fais un programme de cartes de shuffle.À la fin j'utilise for loop
pour imprimer 10 cartes aléatoires, mais je ne sais pas quel est le problème.Besoin d'aide avec mon programme de cartes de mélange
À la fin deal_card(card)
, pourquoi je mets card
parce que mon h/w le dis, mais si vous aviez d'autres réponses je serai bon d'écouter ce que vous dites.
Ceci est mon programme:
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=[]
create_deck(deck)
shuffle_deck(deck)
print "The first 10 cards are:"
for i in range(10): # I don't know why won't work
deal_card(card)
print define_cards()
sur Imprimer chould ressembler à:
The first 10 cards are:
queen of hearts
ten of diamonds
...
Ne devrait pas être seulement 4 espace, même niveau que 'pour costume dans la gamme (4)' et sous 'cards.append (card_string)' ou ci-dessous 'cards.append (card_string)' whit 12 espace ?? I essayer est de travailler dans les deux sens, quelle est la différence? – phhnk
@phhnk: Selon l'indentation, 'return' est soit dans l'une des boucles' for', soit après les deux. Vous le voudrez après que les deux boucles 'for' soient terminées, donc 4 espaces. Avec la version dans votre question (8 espaces) vous obtenez seulement les cartes * clubs *. – dancek
Oh, je vois comment ça va maintenant, merci beaucoup ... – phhnk