Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Trying to code a simple paper, scissors, stone game

$
0
0
I have got as far as being able to input 'paper', 'scissors' or 'stone'. It's then that I get an error message saying that whatever I have inputed is "undefined". Here's my code:
[#the computer will select a random number from 1 to 3
#first the draws ...
#then the player wins ...
#then the computer wins ...
#then invalid entries
#then use up one round

while rounds != rounds_required:
    mighty = random.randint(1, 3)
    choice = input("What'sss your choisssce? ")
    if choice == "paper" and mighty == 1 or choice == "scissors" and mighty == 2 or choice == "stone" and mighty == 3:
        print "Amazzzingly you and the Mighty Python think alike ... "
        rounds = rounds + 1
    elif choice == "scissors" and mighty == 1:
        print "Aaah, your scissorsss cut my Mighty paper !!"
        player = player + 1
        rounds = rounds + 1
    elif choice == "stone" and mighty == 2:
        print "Youch, your pesssky ssstone blunted my Mighty ssscissorsss !!"
        player = player + 1
        rounds = rounds + 1
    elif choice == "paper" and mighty == 3:
        print "Hisss ... my Mighty ssstone wasss wrapped by your creepy paper !!"
        player = player + 1
        rounds = rounds + 1
    elif choice == "scissors" and mighty == 3 or choice == "paper" and mighty == 1 or choice == "stone" and mighty == 2:
        print "Hah! The Mighty Python triumphsss!!!"
        python = python + 1
        rounds = rounds + 1
    else:
        print "Invalid attempt ... please type all lower cassse and check your ssspelling."

#announce the final scores

if player == python:
    print "You were a worthy challenger we both scored", player," the true winner wasss the game."
elif player > python:
    print "I sssalute your random cunning you beat me by", player, " pointsss to", python, "."
else:
    print "The Mighty Python triumphsss by", python, " points to a mere", player, "pointsss!"]


I thought it might be the way I have herded together all those "and" and "or" commands but I rewrote it as 9 different elifs and got the same outcome. Of course that doesn't necessarily mean that the "and"s and "or"s are any good themselves does it?

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>