[英]How can I make my code for a game of Rock, Paper, and scissors less redundant?
[英]How can I add another round to my Rock Paper Scissors game
我目前正在尝试学习 Python 并正在开发石头剪刀布游戏。 它是一个简单的,由 3 轮组成。 大多数事情都运行良好,但我现在唯一的问题是如果一轮打平,我无法再添加一轮。
from random import randint
options = ['rock', 'paper', 'scissors']
players = 0
computers = 0
computer = options[randint(0,2)]
#introduction
print("Welcome to rock paper scissors")
print("The game is fairly simple.\n- Rock beats Scissors\n- Scissors beats Paper \n- Paper beats Rock")
start = input("To start the game type 'Start' or 's' ")
if start != 's':
print("Ok")
playerplay = False
else:
rounds = 3
playerplay = True
for loop in range(rounds):
player = input("Rock, Paper, Scissors? ").lower()
if player == computer:
print("It's a Tie!")
rounds += 1
elif player == options[0]:
if computer == options[1]:
print(computer, "covers", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, 'smashes', computer)
print("Player wins, 1 point for the player")
players += 1
elif player == options[1]:
if computer == options[2]:
print(computer, "cuts", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, 'covers', computer)
print("Player wins, 1 point for the player")
players += 1
elif player == options[2]:
if computer == options[1]:
print(computer, "smashes", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, "cuts", computer)
print("Player wins, 1 point for the player")
players += 1
if playerplay:
print((f'Player {players}\nComputer {computers}') )
我建议使用while
轮次:如果是平局则加+1,每轮后减-1,让游戏运行直到轮数为+ive
from random import randint
options = ['rock', 'paper', 'scissors']
players = 0
computers = 0
computer = options[randint(0,2)]
#introduction
print("Welcome to rock paper scissors")
print("The game is fairly simple.\n- Rock beats Scissors\n- Scissors beats Paper \n- Paper beats Rock")
start = input("To start the game type 'Start' or 's' ")
if start != 's':
print("Ok")
playerplay = False
else:
rounds = 3
playerplay = True
# for loop in range(rounds):
while rounds: #use while loop
player = input("Rock, Paper, Scissors? ").lower()
if player == computer:
print("It's a Tie!")
rounds += 1# increase rounds left
elif player == options[0]:
if computer == options[1]:
print(computer, "covers", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, 'smashes', computer)
print("Player wins, 1 point for the player")
players += 1
elif player == options[1]:
if computer == options[2]:
print(computer, "cuts", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, 'covers', computer)
print("Player wins, 1 point for the player")
players += 1
elif player == options[2]:
if computer == options[1]:
print(computer, "smashes", player)
print("Player lost, 1 point for the computer")
computers += 1
else:
print(player, "cuts", computer)
print("Player wins, 1 point for the player")
players += 1
rounds-=1 # dcrease the rounds left
if playerplay:
print((f'Player {players}\nComputer {computers}') )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.