0

I am making a program in python that will play the game of war. I was wondering if there is a way to condense all the if statements to a simpler code. I need to pick a random number from 1-13 and those numbers relate to one of the cards in a deck. 1=Ace, 2=2 ... 11=Jack, 12=Queen, 13=King. I have not learned any functions yet so I cannot use any of those.

    while player_picked == computer_picked:
        player_picked = random.randint(1,13)
        computer_picked = random.randint(1,13)

        if player_picked == 1:
            card_picked_player = "Ace"
        if player_picked == 2:
            card_picked_player = "Two"
        if player_picked == 3:
            card_picked_player = "Three"
        if player_picked == 4:
            card_picked_player = "Four"
        if player_picked == 5:
            card_picked_player = "Five"
        if player_picked == 6:
            card_picked_player = "Six"
        if player_picked == 7:
            card_picked_player = "Seven"
        if player_picked == 8:
            card_picked_player = "Eight"
        if player_picked == 9:
            card_picked_player = "Nine"
        if player_picked == 10:
            card_picked_player = "Ten"
        if player_picked == 11:
            card_picked_player = "Jack"
        if player_picked == 12:
            card_picked_player = "Queen"
        if player_picked == 13:
            card_picked_player = "King"

        if computer_picked == 1:
            card_picked_computer = "Ace"
        if computer_picked == 2:
            card_picked_computer = "Two"
        if computer_picked == 3:
            card_picked_computer = "Three"
        if computer_picked == 4:
            card_picked_computer = "Four"
        if computer_picked == 5:
            card_picked_computer = "Five"
        if computer_picked == 6:
            card_picked_computer = "Six"
        if computer_picked == 7:
            card_picked_computer = "Seven"
        if computer_picked == 8:
            card_picked_computer = "Eight"
        if computer_picked == 9:
            card_picked_computer = "Nine"
        if computer_picked == 10:
            card_picked_computer = "Ten"
        if computer_picked == 11:
            card_picked_computer = "Jack"
        if computer_picked == 12:
            card_picked_computer = "Queen"
        if computer_picked == 13:
            card_picked_computer = "King"
Xcodian Solangi
  • 2,342
  • 5
  • 24
  • 52
Alex Bass
  • 73
  • 1
  • 1
  • 8

1 Answers1

1

Use a list, and then index the list.

cards = ["Ace", "Two", "Three", ..., "King"]
card_picked_player = cards[player_picked-1]
card_picked_computer = cards[computer_picked-1]

You can also select directly from the list if you don't need the numeric value.

card_picked_player = random.choice(cards)
card_picked_computer = random.choice(cards)
Barmar
  • 741,623
  • 53
  • 500
  • 612