首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印函数打印True,但也打印false

打印函数打印True,但也打印false
EN

Stack Overflow用户
提问于 2021-11-19 13:51:18
回答 1查看 45关注 0票数 0

我对这段代码的问题是,我想让它打印当前的进攻:球员,也打印当前的防守者: Cpu。

代码如下:

代码语言:javascript
复制
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)))

输出:

代码语言:javascript
复制
Please enter [H]eads or [T]ails: H
Coin is on: H
Current Offence: Player
Coin is on: H
Current Deffence: Player

预期输出:

代码语言:javascript
复制
Please enter [H]eads or [T]ails: H
Coin is on: H
Current Offence: Player
Current Deffence: Cpu

我怎么才能到达当前的进攻在玩家身上,但当前的差异在Cpu上,而不是在玩家身上的地方?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 14:01:27

您只需要一个bool (或int)来保存所有信息:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70035914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档