Python 巨蟒石剪刀
我正在尝试编写一个Python程序,我很难获得分数。我把它写成了一个值返回函数,每次我运行程序时,它似乎都会跳过检索分数的步骤,除非我包含一个else语句,它会自动跳转else语句。 我将在下面附上完整的代码。 非常感谢你的帮助,我很感激! 这也是我第一次在这个论坛上发帖,如果我把事情搞砸了,我道歉Python 巨蟒石剪刀,python,python-3.x,Python,Python 3.x,我正在尝试编写一个Python程序,我很难获得分数。我把它写成了一个值返回函数,每次我运行程序时,它似乎都会跳过检索分数的步骤,除非我包含一个else语句,它会自动跳转else语句。 我将在下面附上完整的代码。 非常感谢你的帮助,我很感激! 这也是我第一次在这个论坛上发帖,如果我把事情搞砸了,我道歉 #constants Rock = 1 Paper = 2 Scissors = 3 #Define the main function def main(): #set control
#constants
Rock = 1
Paper = 2
Scissors = 3
#Define the main function
def main():
#set control loop
keep_going = 'Y'
#set counter to zero
computer_wins = 0
player_wins = 0
tie_score = 0
#call display message
display_message()
while keep_going == 'y' or keep_going == 'Y':
play_game()
#prompt user to keep going
keep_going = input('would you like to play again? (Y for Yes): ')
print('The computer won', computer_wins, 'times')
print('The player won', player_wins, 'times')
print('There were', tie_score, 'tie scores')
def play_game():
#get random input
computer = get_random()
#get the players input
play = get_play()
#validate input
if play == '1' or play == '2' or play == '3':
play == True
else:
play == False
print('Error: Invalid Entry')
play = input('Please enter 1 for Rock, 2 for Paper, or 3 for Scissors: ')
if play == computer:
print('Tie Score, Please try again')
tie_score += 1
else:
get_score(computer, play)
print('The computer chose:', computer)
print('The player chose: ', play)
#define display message
def display_message():
print('Welcome to Rock Paper Scissors, a game of chance to see who will')
print('outsmart the other. This game is Man VS Computer.')
print('The program will select a random integer and then ask you for an integer')
print('1 for Rock 2 for paper or 3 for Scissors. The program will then tell')
print('you who won the game.')
print('GOOD LUCK!')
print
print
def get_random():
import random
#generate random int
computer = random.randint(1, 3)
return computer
def get_play():
#prompt user to enter an integer 1, 2, or 3
play = input('Select 1 for Rock, 2 for Paper, or 3 for Scissors: ')
return play
def get_score(computer, play):
if computer == 1 and play == 2:
score = 'player wins'
print('Paper covers Rock, Player Wins')
#player wins
player_wins += 1
elif computer == 1 and play == 3:
score = 'computer wins'
print('Scissors cut Paper, Computer Wins')
#computer wins
computer_wins += 1
elif computer == 2 and play == 1:
score = 'computer wins'
print('Paper covers Rock, Computer Wins')
#computer wins
computer_wins += 1
elif computer == 2 and play == 3:
score = 'player wins'
print('Scissors cut Paper, Player Wins')
#player wins
player_wins += 1
elif computer == 3 and play == 1:
score = 'player wins'
print('Rock smashes Scissors, Player Wins')
#player wins
player_wins += 1
elif computer == 3 and play == 2:
score = 'computer wins'
print('Scissors cut Paper, Computer Wins')
#computer wins
computer_wins += 1
#call main function
main()
快速浏览代码中的几个简短注释: 在
get\u score()
中,您可以添加一个else子句来处理发生的任何关系,而不必在play\u game()中明确检查它。
将import random
移动到文件顶部。导入通常位于文件的顶部。此外,无需在每次需要随机数时重新导入
不确定这是否是一个输入错误,因为play
似乎总是包含一个整数,但是play==True
和play==False
内部play\u game()
。如果要使play
包含True
或False
,则需要使用一个等号,例如play=True
。但是这似乎没有什么意义,因为你把play
和computer
进行比较,就好像它们是整数一样
另外,使用get_score()
方法中的score
变量,您想实现什么
啊,如果你让get_score()
方法返回一些东西,这样你就能知道谁赢了比赛,这会很有帮助。您无法访问get\u score()
方法中的computer\u wins
或player\u wins
,因为它们是在main()中定义的。一种简单的方法是从get\u score()
返回一个int。这里是一种相当C风格的处理方法(返回-1/0/1)。类似于(伪代码):
这有太多的错误,很难知道从哪里开始(但不要气馁)
首先,看起来您使用的是Python3(主要是使用input
与raw\u input
以及打印语句),这已经限制了您获得的帮助量。大多数人仍在使用Python 2.6或2.7。但是有了这些,就
解决您问题的主要剩余问题有:
第一:您使用字符串作为播放器输入(例如“1”、“2”、“3”),使用数字作为计算机选择(例如1、2、3)。因此,您需要对它们进行比较。换句话说,不是:
if computer == 1 and play == 2:
你需要说:
if computer == 1 and play == '2':
第二:您试图在另一个函数中引用一个函数的变量,这是行不通的。如果您希望您的计算机\u wins
等变量是全局变量,则需要在全局范围内对其进行初始化,例如,在声明“#常量”之后和进入main
之前。然后在任何使用它们的函数中,您必须说,例如,global computer\u wins
,以表明它们是全局的,而不是本地的
一旦您解决了这些问题,它应该工作得更好一些,但是您仍然需要做大量的清理工作并继续工作
坚持下去,很快你就会觉得很自然。我单独回答了你的问题,但只是为了好玩,这里有一个小的石头、布、剪刀游戏。这是针对Python2.x的,可能在Python3中不起作用,但它可能会对您或将来的人搜索此内容有所帮助
# "Rock, Paper, Scissors" demo for Python 2.x
# by Dan Kamins
import random
ROCK = 1
PAPER = 2
SCISSORS = 3
NAMES = { ROCK: 'Rock', PAPER: 'Paper', SCISSORS: 'Scissors' }
WHAT_BEATS_WHAT = { ROCK: SCISSORS, PAPER: ROCK, SCISSORS: PAPER }
WIN_ACTIONS = { ROCK: 'crushes', PAPER: 'smothers', SCISSORS: 'cuts' }
score_player = 0
score_computer = 0
score_ties = 0
def main():
intro()
while main_loop():
pass
summary()
def intro():
print "Welcome to Rock, Paper, Scissors!"
def main_loop():
player = get_player_input()
computer = random.randint(1, 3)
check_result(player, computer)
return ask_play_again()
def check_result(player, computer):
global score_player, score_computer, score_ties
if player == computer:
print "Tie! Computer also chose {0}.".format(NAMES[computer])
score_ties += 1
else:
if WHAT_BEATS_WHAT[player] == computer:
print "Your massive {0} {1} the computer's {2}!".format(
NAMES[player], WIN_ACTIONS[player], NAMES[computer])
score_player += 1
else:
print "The computer's {0} {1} your pathetic {2}!".format(
NAMES[computer], WIN_ACTIONS[computer], NAMES[player])
score_computer += 1
def ask_play_again():
again = raw_input("Enter Y to play again: ")
return again in ('y', 'Y')
def get_player_input():
while True:
print
player = raw_input("Enter 1 for Rock 2 for paper or 3 for Scissors: ")
try:
player = int(player)
if player in (1,2,3):
return player
except ValueError:
pass
print "Please enter a number from 1 to 3."
def summary():
global score_player, score_computer, score_ties
print "Thanks for playing."
print "Player won: ", score_player
print "Computer won: ", score_computer
print "Ties: ", score_ties
if __name__ == '__main__':
main()
这段代码可能是您的一个很好的参考资料。:)
祝你好运
请注意,这是Py2.x代码
# Author: Niklas Rosenstein
# Created: 2011/10/23
import sys
import random
PAPER = 0
ROCK = 1
SCISSOR = 2
WIN = 10
LOSS = 11
TIE = 12
TABLE = {
PAPER: 'Paper',
ROCK: 'Rock',
SCISSOR: 'Scissor',
}
if 'expand TABLE':
# just for overvieability
# expands the TABLE conveniently
tableExpand = [
(PAPER,('paper', 'p', '0')),
(ROCK, ('rock', 'r', 'stone', '1')),
(SCISSOR, ('scissor', 's', '2'))
]
exp = None
key = None
for exp in tableExpand:
for key in exp[1]:
TABLE[key] = exp[0]
del tableExpand, exp, key
class Game(object):
wins = 0
losses = 0
ties = 0
def evaluateInput(self, inp):
# evaluate the input
# raises ValueError if input is invalid
# lowercase the string
inp = inp.strip()
inp = inp.lower()
# comparison table
try:
return TABLE[inp]
except KeyError:
raise ValueError, 'Input is invalid.'
def choose(self, choice):
# make a choice and compare it with
# the computers choice
# check if the choice is correct
if choice not in [ROCK, PAPER, SCISSOR]:
raise ValueError, 'Expected Id of either ROCK, PAPER or SCISSOR'
# generate a choice for the computer
com = random.choice([ROCK, PAPER, SCISSOR])
result = choice - com
if result == 0:
self.ties += 1
return TIE, com
elif result < 0:
self.wins += 1
return WIN, com
else:
self.losses += 1
return LOSS, com
TEXT_CHOOSE = 'Choose (or "quit" to quit): '
TEXT_PLAYER_CHOOSE = "You've choosen: "
TEXT_COMPUTER_CHOOSE = 'The computer choosed: '
TEXT_CHOICE_INVALID = 'You choice is invalid.\n'
TEXT_WIN = "You've won this match."
TEXT_LOSS = "You've lost this match."
TEXT_TIE = "This match was tie."
TEXT_GOODBYE = "Thanks for playing."
TEXT_WELCOME = "Welcome to Rock-Paper-Scissor !\n" \
"This game is all about guessing. Try to choose the\n" \
"thing that beats the computers choice. Thereby, the\n" \
"following rules are importan:\n" \
" Paper beats Rock.\n" \
" Rock beats Scissor.\n" \
" Scissor beats Paper.\n" \
"\n" \
"Valid inputs are:\n\n" \
" | for Paper: | p | paper | - | 0 |\n" \
" | for Rock: | r | rock | stone | 1 |\n" \
" | for Scissor: | s | scissor | - | 2 |\n" \
" | To quit the game: | q | quit | - | - |\n" \
"\n" \
"Much fun whishes you: Niklas Rosenstein (2011)\n" \
+ ("-" * 50) + "\n"
def printScores(g):
print "Scores:"
print " Wins: %s" % g.wins
print " Losses: %s" % g.losses
print " Ties: %s" % g.ties
def main():
g = Game()
# play the game ;-)
print TEXT_WELCOME
while True:
inp = raw_input(TEXT_CHOOSE)
if inp.lower() in ('q', 'quit'):
break
try:
inp = g.evaluateInput(inp)
except ValueError:
print TEXT_CHOICE_INVALID
continue
t, com = g.choose(inp)
inp = TABLE[inp]
com = TABLE[com]
print TEXT_PLAYER_CHOOSE, inp
print TEXT_COMPUTER_CHOOSE, com
print
if t == WIN:
print inp, "beats", com + ".",
print TEXT_WIN
elif t == LOSS:
print com, "beats", inp + ".",
print TEXT_LOSS
else:
print inp, "euqals", com + ".",
print TEXT_TIE
print
printScores(g)
print "-" * 50
print
print TEXT_GOODBYE
printScores(g)
print
print "Press any key to exit."
sys.stdin.read(1)
main()
#作者:Niklas Rosenstein
#创建日期:2011/10/23
导入系统
随机输入
纸张=0
岩石=1
剪刀=2
赢=10
损失=11
平局=12
表={
报纸:"报纸",,
摇滚乐:“摇滚乐”,
剪刀:“剪刀”,
}
如果“扩展表”:
#只是为了超凡脱俗
#方便地展开表格
表扩展=[
(纸,('PAPER','p','0')),
(岩石,('ROCK','r','stone','1')),
(剪刀,('SCISSOR','s','2'))
]
exp=无
键=无
对于tableExpand中的exp:
对于输入exp[1]:
表[key]=exp[0]
del table扩展,exp,key
班级游戏(对象):
wins=0
损失=0
领带=0
def评估输入(自身,输入):
#评估输入
#如果输入无效,则引发ValueError
#将字符串小写
inp=inp.strip()
inp=inp.lower()
#对照表
尝试:
返回表[inp]
除KeyError外:
raise VALUE错误,“输入无效。”
def choose(self,choose):
#做一个选择并与之比较
#计算机选择
#检查选择是否正确
如果选择不在[石头、纸、剪刀]:
raise VALUE ERROR,“预期的岩石、纸张或剪刀Id”
#为计算机生成一个选项
com=random.choice([石头、纸、剪刀])
结果=选择-com
如果结果==0:
self.ties+=1
回程领带
elif结果<0:
self.wins+=1
返回WIN,com
其他:
自损耗+=1
退货损失
TEXT_CHOOSE='选择(或“退出”退出):'
TEXT\u PLAYER\u CHOOSE=“您已选择:”
TEXT\u COMPUTER\u CHOOSE='选择的计算机:'
TEXT\u CHOICE\u INVALID='您的选择无效。\n'
TEXT\u WIN=“你赢了这场比赛。”
TEXT\u LOSS=“你输掉了这场比赛。”
TEXT\u TIE=“这场比赛是平局。”
TEXT_bye=“感谢您的参与。”
TEXT\u WELCOME=“欢迎使用摇滚剪纸机!\n”\
“此游戏是关于猜测的。请尝试选择\n”\
“比com更棒的东西
# Author: Niklas Rosenstein
# Created: 2011/10/23
import sys
import random
PAPER = 0
ROCK = 1
SCISSOR = 2
WIN = 10
LOSS = 11
TIE = 12
TABLE = {
PAPER: 'Paper',
ROCK: 'Rock',
SCISSOR: 'Scissor',
}
if 'expand TABLE':
# just for overvieability
# expands the TABLE conveniently
tableExpand = [
(PAPER,('paper', 'p', '0')),
(ROCK, ('rock', 'r', 'stone', '1')),
(SCISSOR, ('scissor', 's', '2'))
]
exp = None
key = None
for exp in tableExpand:
for key in exp[1]:
TABLE[key] = exp[0]
del tableExpand, exp, key
class Game(object):
wins = 0
losses = 0
ties = 0
def evaluateInput(self, inp):
# evaluate the input
# raises ValueError if input is invalid
# lowercase the string
inp = inp.strip()
inp = inp.lower()
# comparison table
try:
return TABLE[inp]
except KeyError:
raise ValueError, 'Input is invalid.'
def choose(self, choice):
# make a choice and compare it with
# the computers choice
# check if the choice is correct
if choice not in [ROCK, PAPER, SCISSOR]:
raise ValueError, 'Expected Id of either ROCK, PAPER or SCISSOR'
# generate a choice for the computer
com = random.choice([ROCK, PAPER, SCISSOR])
result = choice - com
if result == 0:
self.ties += 1
return TIE, com
elif result < 0:
self.wins += 1
return WIN, com
else:
self.losses += 1
return LOSS, com
TEXT_CHOOSE = 'Choose (or "quit" to quit): '
TEXT_PLAYER_CHOOSE = "You've choosen: "
TEXT_COMPUTER_CHOOSE = 'The computer choosed: '
TEXT_CHOICE_INVALID = 'You choice is invalid.\n'
TEXT_WIN = "You've won this match."
TEXT_LOSS = "You've lost this match."
TEXT_TIE = "This match was tie."
TEXT_GOODBYE = "Thanks for playing."
TEXT_WELCOME = "Welcome to Rock-Paper-Scissor !\n" \
"This game is all about guessing. Try to choose the\n" \
"thing that beats the computers choice. Thereby, the\n" \
"following rules are importan:\n" \
" Paper beats Rock.\n" \
" Rock beats Scissor.\n" \
" Scissor beats Paper.\n" \
"\n" \
"Valid inputs are:\n\n" \
" | for Paper: | p | paper | - | 0 |\n" \
" | for Rock: | r | rock | stone | 1 |\n" \
" | for Scissor: | s | scissor | - | 2 |\n" \
" | To quit the game: | q | quit | - | - |\n" \
"\n" \
"Much fun whishes you: Niklas Rosenstein (2011)\n" \
+ ("-" * 50) + "\n"
def printScores(g):
print "Scores:"
print " Wins: %s" % g.wins
print " Losses: %s" % g.losses
print " Ties: %s" % g.ties
def main():
g = Game()
# play the game ;-)
print TEXT_WELCOME
while True:
inp = raw_input(TEXT_CHOOSE)
if inp.lower() in ('q', 'quit'):
break
try:
inp = g.evaluateInput(inp)
except ValueError:
print TEXT_CHOICE_INVALID
continue
t, com = g.choose(inp)
inp = TABLE[inp]
com = TABLE[com]
print TEXT_PLAYER_CHOOSE, inp
print TEXT_COMPUTER_CHOOSE, com
print
if t == WIN:
print inp, "beats", com + ".",
print TEXT_WIN
elif t == LOSS:
print com, "beats", inp + ".",
print TEXT_LOSS
else:
print inp, "euqals", com + ".",
print TEXT_TIE
print
printScores(g)
print "-" * 50
print
print TEXT_GOODBYE
printScores(g)
print
print "Press any key to exit."
sys.stdin.read(1)
main()
import random;
print ('Game of chance 1=Rock,2=Paper,3=Scissor');
print ('Type 9 to exit');
while 1:
z=random.randint(1,3);
a=int(input('1=Rock,2=Paper,3=Scissor:--->'));
if a==z:
print ('Tie!!!');
if a==1 and z==2:
print ('Rock covers paper So You Win!!!');
if a==2 and z==3:
print ('Scissor cuts paper so you loose :(');
if a==2 and z==1:
print ('Rock covers paper so you loose :(');
if a==3 and z==2:
print ('Scissor cuts paper So You Win!!!');
if a==9:
break
print ('Thanks for playing the game')
try: input = raw_input
except NameError: input = input # py3k
import random
import sys
import textwrap
from collections import namedtuple
ROCK, PAPER, SCISSORS = ROCK_PAPER_SCISSORS = range(1, 4)
NAME = dict(zip(ROCK_PAPER_SCISSORS, "Rock Paper Scissors".split()))
Score = namedtuple('Score', 'win verb')
GAME_MATRIX = { # who wins and who does what
(PAPER, ROCK): Score(win=True, verb='covers'),
(SCISSORS, PAPER): Score(win=True, verb='cut'),
(ROCK, SCISSORS): Score(win=True, verb='smashes'),
}
GAME_MATRIX.update(dict(((second, first), Score(not win, verb))
for (first,second), (win,verb) in GAME_MATRIX.items()))
def main():
# keep scores: how many times computer, player win and number of ties
scores = dict(zip("computer player tie".split(), [0]*3))
display_welcome_message()
# set control loop
keep_going = 'Y'
while keep_going.upper() == 'Y':
try: play_game(scores)
except Exception as e:
print("Error: %s" % (e,))
sys.exit(1)
# prompt player to keep going
keep_going = input('Would you like to play again? (Y for Yes): ')
print('\nThe computer won {computer} times\n'
'The player won {player} times\n'
'There were {tie} tie scores'.format(**scores))
def play_game(scores):
# get players choices for this round
computer_choice = random.choice(ROCK_PAPER_SCISSORS)
player_choice = get_player_input()
# print choices
for player, choice in [('computer', computer_choice),
('player', player_choice)]:
print('The {0} chose: {1} ({2})'.format(player, NAME[choice], choice))
# update scores; print who wins
if player_choice == computer_choice:
scores['tie'] += 1
print('Tie Score, Please try again')
else:
score = GAME_MATRIX[computer_choice, player_choice]
if score.win: # computer wins
scores['computer'] += 1
template = '{first} {verb} {second}, Computer wins'
else: # player wins
scores['player'] += 1
template = '{second} {verb} {first}, Player wins'
print(template.format(first=NAME[computer_choice],
second=NAME[player_choice], verb=score.verb))
def display_welcome_message():
print(textwrap.fill(textwrap.dedent("""
Welcome to Rock Paper Scissors, a game of chance to see who
will outsmart the other. This game is Man VS Computer. The
program will select a random integer and then ask you to input
%s for Rock %s for Paper or %s for Scissors. The program will
then tell you who won the game. GOOD LUCK!
""" % tuple(ROCK_PAPER_SCISSORS))))
def get_player_input(ntries=10):
for _ in range(ntries):
try:
choice = int(input('\nSelect %s for Rock, %s for Paper, or '
'%s for Scissors: ' % tuple(ROCK_PAPER_SCISSORS)))
except ValueError:
pass
else:
if choice in ROCK_PAPER_SCISSORS:
return choice # success
print('Error: your choice must be one of: %s' % (
', '.join(map(str, ROCK_PAPER_SCISSORS))))
raise RuntimeError('failed to get player choice in %d tries' % ntries)
if __name__=="__main__":
main()
import random
Rock = '1'
Paper = '2'
Scissors = '3'
print('Welcome to Rock, Paper Scissors! The game of all kids to decide on something. \nIn this game you will have to beat the computer once. \n(Psst if it\'s a draw the start the program again! ;D)\nSo how to play. Well, it\'s simple. Pick 1 for Rock, 2 for Paper and 3 for Scissors. \nSo Rock beats Scissors. Scissors cuts Paper and Paper covers Rock. Got it Lets play')
player=int(input('Please enter number 1 = Rock, 2 = Paper, 3 = Scissors: '))
if player<1 or player>3:
player=int(input('Invalid number. Please enter number 1 = Rock, 2 = Paper, 3 = Scissors: '))
if player<1 or player>3:
print('Well, now you can\'t play this game because you are mucking around. Next time DON\'T!')
else:
computer=random.randint(1, 3)
print(player,computer)
print('Remember Rock = 1, Paper = 2 and Scissors = 3')
if player==1 and computer==1 or player==2 and computer==2 or player==3 and computer==3:
print('It\'s a draw. =l Restart the game if you want to.')
if player==1 and computer==2 or player==2 and computer==3 or player==3 and computer==1:
print('Computer wins! You lose. Sorry. =(')
if player==1 and computer==3 or player==2 and computer==1 or player==3 and computer==2:
print('You have won. Well done. =D')
import random
def winner(p1, p2):
actors = ['Paper', 'Scissors', 'Spock', 'Lizard', 'Rock']
verbs = {'RoLi':'crushes', 'RoSc':'breaks', 'LiSp':'poisons',
'LiPa':'eats', 'SpSc':'smashes', 'SpRo':'vaporizes',
'ScPa':'cut', 'ScLi':'decapitate', 'PaRo':'covers',
'PaSp':'disproves'}
p1, p2 = actors.index(p1), actors.index(p2)
winner, looser = [(p1, p2), (p1, p2), (p2, p1), (p1, p2), (p2, p1)][p1 - p2]
return ' '.join([actors[winner],
verbs.get(actors[winner][0:2] + actors[looser][0:2],
'ties'),
actors[looser]])
more = True
while more:
z=random.randint(0,4);
a=int(input('1=Rock, 2=Paper, 3=Scissors, 4=Lizard, 5=Spock:--->'))-1;
if a==z:
print 'Tie\n';
else:
try:
print winner(a,z) + '\n'
except IndexError:
more = False
print ('Thanks for playing the game')
1=Rock, 2=Paper, 3=Scissors, 4=Lizard, 5=Spock:--->1
Rock crushes Lizard
1=Rock, 2=Paper, 3=Scissors, 4=Lizard, 5=Spock:--->2
Paper covers Rock
1=Rock, 2=Paper, 3=Scissors, 4=Lizard, 5=Spock:--->3
Scissors tie Scissors
1=Rock, 2=Paper, 3=Scissors, 4=Lizard, 5=Spock:--->4
Lizard poisons Spock
# Imports
import random
# Constants
SELECTION = ["rock", "paper", "scissors"]
WIN = -1 # This is a dummy assignment: we will return this value later.
WIN_LOSE_DICT = {("rock", "paper"): False,
("paper", "rock"): True,
("paper", "scissors"): False,
("scissors", "paper"): True,
("scissors", "rock"): False,
("rock", "scissors"): True}
# Variables
total_wins = 0
# Functions
def do_round():
comp = random.choice(SELECTION)
player = raw_input("Rock, paper, scissors, SHOOT! ").lower() # Set player response
# to lowercase
# Use input() on Python 3 and not raw_input()
while player not in SELECTION:
player = raw_input("Please choose either rock, paper, or scissors. ").lower()
if player == comp:
print "The computer chose %s: it is a tie." % comp
else:
result = WIN_LOSE_DICT[(player, comp)]
if result: # If you want to be clear, do - if result == True:
print "The computer chose %s: you win!" % comp
return WIN
else:
print "The computer chose %s: you lose" % comp
# Main
if __name__ == "__main__":
running = True
while running:
this_round = do_round()
if this_round == WIN:
total_wins += 1
print "You won %s times so far." % total_wins
continue_ = raw_input("Do you want to play another round (y/n) ?").lower()
if continue_ == "n":
continue
else:
running = False
print "Thank you for playing!"
import random
lst=['rock','scisor','paper']
player_score=0
comp_score=0
print('''Welcome to the game of our childhood Rock, Paper and scisor.
play this game against the computer.You must input the
rock,paper,scisor .So let's start the game.''')
def new_game():
user_input=input("START A NEW GAME![Y/N]: \n")
if user_input.upper()=="Y":
global player_score
player_score=0
global comp_score
comp_score=0
RPS_game()
else:
print("Have a great day ahead!\n")
def again():
user_input=input("WANNA PLAY AGAIN![Y/N]: \n")
if user_input.upper()=="Y":
RPS_game()
else:
print("YOUR FINAL SCORE: ",player_score)
print("COMPUTER'S FINAL CORE: ",comp_score)
if comp_score>player_score:
print("OOPS!YOU LOOSE THE GAME\n")
new_game()
elif comp_score<player_score:
print("GREAT! YOU WON THE GAME\n")
new_game()
else:
print("IT'S A DRAW!\n")
new_game()
def RPS_game():
comp_move=random.choice(lst)
player_move=input("Enter your move: ")
if player_move=='rock' or player_move=='paper' or player_move=='scisor':
print("Computers Move:",comp_move)
if player_move=="rock":
if comp_move=="scisor":
print("YOU WON!")
global player_score
player_score=player_score+1
elif comp_move=="paper":
print("YOU lOOSE!")
global comp_score
comp_score=comp_score+1
elif comp_move=="rock":
print("TRY AGAIN!")
elif player_move=="paper":
if comp_move=="paper":
print("TRY AGAIN!")
elif comp_move=="scisor":
print("YOU lOOSE!")
comp_score=comp_score+1
elif comp_move=="rock":
print("YOU WON!")
player_score+=1
elif player_move=="scisor":
if comp_move=="paper":
print("YOU WON!")
player_score+=1
elif comp_move=="scisor":
print("TRY AGAIN!")
elif comp_move=="rock":
print("YOU LOOSE!")
comp_score=comp_score+1
again()
else:
print('''Enter correct spellings !
as "rock,paper,scisor"''' )
RPS_game()
RPS_game()