sábado, 27 de septiembre de 2014

Rock, Scissor, Paper, Lizard, Spock RSPLS

Implementar la logica del juego piedra, papel, tijera, lizard, Spock. En python, probar codigo en CodeSkulptor

# Rock-paper-scissors-lizard-Spock template import random # The key idea of this program is to equate the strings # "rock", "paper", "scissors", "lizard", "Spock" to numbers # as follows: # # 0 - rock # 1 - Spock # 2 - paper # 3 - lizard # 4 - scissors

# helper functions

def name_to_number(name):
    # delete the following pass statement and fill in your code below
    if name == 'rock':
        return 0
    elif name == 'Spock':
        return 1
    elif name == 'paper':
        return 2
    elif name == 'lizard':
        return 3
    elif name == 'scissors':
        return 4
    else:
        return 'Error: name does not match any options.'

    # convert name to number using if/elif/else
    # don't forget to return the result!


def number_to_name(number):
    # delete the following pass statement and fill in your code below
    if number == 0:
        return 'rock'
    elif number == 1:
        return 'Spock'
    elif number == 2:
        return 'paper'
    elif number == 3:
        return 'lizard'
    elif number == 4:
        return 'scissors'
    else:
        return 'Error: number does not match any options'
    # convert number to a name using if/elif/else
    # don't forget to return the result!
    

def rpsls(player_choice):
    
    # delete the following pass statement and fill in your code below
    
   
    # print a blank line to separate consecutive games
    print ""

    # print out the message for the player's choice
    print "Player chooses ",player_choice

    # convert the player's choice to player_number using the function name_to_number()
    player_number = name_to_number(player_choice)
    # compute random guess for comp_number using random.randrange()
    comp_number = random.randrange(0,5)
    # convert comp_number to comp_choice using the function number_to_name()
    comp_choice = number_to_name(comp_number)
    # print out the message for computer's choice
    print "Computer chooses ",comp_choice
    # compute difference of comp_number and player_number modulo five
    
    # use if/elif/else to determine winner, print winner message
       
    if comp_number - player_number == 1 or comp_number - player_number == 2:
        print "Computer wins!"
    elif comp_number - player_number == 3 or comp_number - player_number == 4:
        print "Player wins!"
    elif comp_number - player_number == -3 or comp_number - player_number == -4:
        print "Computer wins!"
    elif comp_number - player_number < 0:
        print "Player wins!"
    elif player_number - comp_number < 0:
        print "Computer wins!"
    else:
        print "Player and computer tie!"
    
# test your code - THESE CALLS MUST BE PRESENT IN YOUR SUBMITTED CODE
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")

No hay comentarios:

Publicar un comentario