-
Notifications
You must be signed in to change notification settings - Fork 0
/
Stone_paper_scissor.py
87 lines (74 loc) · 2.15 KB
/
Stone_paper_scissor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# My first ever created code which is more than 10 lines
import random
def gameWin(Computer: str ,player: str) -> bool or None:
"""
:type Computer `string`: Item choosen by the computer
:type player `string` : Item choosen by the player
"""
if Computer == player:
return None
elif Computer == 'R':
if player == 'P':
return True
elif player == 'S':
return False
elif Computer == 'P':
if player == 'S':
return True
elif player == 'R':
return False
elif Computer == 'S':
if player == 'R':
return True
elif player == 'P':
return False
ran = ('S','R','P')
while True:
try:
x = int(input("Tell me how many rounds you want to play "))
if not x:
print("Can't be 0")
elif x < 0:
print("Can't be less than 0")
else:
break
except ValueError:
print("Rounds should be natural number")
def choices():
"""
Function to take user's input and decides computer's choice
"""
Computer = random.choice(ran)
while True:
Player = input("Now it's your turn....choose one...\nHit R for Rock\nHit P for Paper\nHit S for scisor. ")
player = Player.upper()
if player not in ["S","P","R"]:
print("Choices availabel\ns : Stone\np : Pape\n s : Scissor")
else:
break
return player, Computer
i = x
y = []
while x:
print("\n")
print(f"Round {i-x+1}")
print('Computer is choosing one value...\n')
player, Computer = choices()
print(f'\nComputer has choosen {Computer}\n')
print(f'You have choosen {player}\n')
win = gameWin(Computer, player)
if win == None:
print('It is a tie....')
y.append("Tie")
elif win == True:
print('Congo! you win.')
y.append("Won")
elif win == False:
print('You losser....I win try your luck another time.')
y.append("Lost")
x = x-1
print("\nSo here are the Results:")
for round, result in enumerate(y):
z = f"Round{round+1} : {result}\n"
print(z)
y.clear