[英]Printing the function that prints True, but also prints false
我对这段代码的问题是我希望它打印 Current Offence: Player 和 Current Defender: Cpu
这是代码:
import random
Player = False
Cpu = False
user = input("Please enter [H]eads or [T]ails: ")
def flip_coin(Player, Cpu, user):
# Flips coin to determine who has the ball first.
COIN = ["H", "T"]
coin = random.choice(COIN)
print("Coin is on: " + str(coin))
if coin == user:
Player = True
return "Player"
else:
Cpu = True
return "Cpu"
print("Current Offence: " + str(flip_coin(Player, Cpu, user)))
print("Current Deffence: " + str(flip_coin(Player, Cpu, user)))
Output:
Please enter [H]eads or [T]ails: H
Coin is on: H
Current Offence: Player
Coin is on: H
Current Deffence: Player
预期 Output:
Please enter [H]eads or [T]ails: H
Coin is on: H
Current Offence: Player
Current Deffence: Cpu
我如何才能到达当前进攻在播放器上的位置,但当前防御也在 Cpu 上而不在播放器上?
您只需要一个 bool(或 int)来保存所有信息:
import random
players = ["Cpu", "Player"]
def flip_coin(coin):
return random.choice("HT") == coin
user = input("Please enter [H]eads or [T]ails: ")
player = flip_coin(user)
print(f"Current Offence: {players[player]}") # Note: True == 1
print(f"Current Defence: {players[not player]}") # and: False == 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.