Python高效编写抛硬币器:如何将随机1/2对应输出正反面?
抛硬币结果转正反面的实现方案
核心逻辑是对random.randint生成的1/2数值做规则绑定,以下是几种可直接使用的实现方式,按需选择即可:
基础条件分支实现
最直观的写法,代码可读性强:
import random print("Flipping the coin") flip_num = random.randint(1, 2) if flip_num == 1: print("正面") else: print("反面")
如果想简化单行判断逻辑,可以用三元表达式压缩代码:
import random print("Flipping the coin") print("正面" if random.randint(1, 2) == 1 else "反面")
可扩展的字典映射实现
如果后续需要调整输出文案、新增更多随机结果(比如概率极低的硬币立住场景),用字典映射的可维护性更高,修改规则只需要改映射表,不用动核心逻辑:
import random # 提前配置随机数值和输出结果的映射规则 result_map = { 1: "正面", 2: "反面" } print("Flipping the coin") print(result_map[random.randint(1, 2)])
小优化说明
- 原有代码里单独定义
min、max变量属于冗余写法,直接将范围参数传入random.randint()即可;如果后续需要复用随机范围配置,再单独提取常量会更合理。
内容的提问来源于stack exchange,提问作者Jeremy Guo
相关产品推荐
相关产品推荐

