You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从给定备选答案中随机打印输出结果

错误写法原因解析

你用到的or是逻辑运算符、|是按位运算符,二者都没有「随机二选一」的作用,四种写法的问题分别如下:

  • 写法1:print(" You Pressed b " or " B is pressed")
    Python中逻辑或or会返回第一个布尔值为真的结果,非空字符串的布尔值恒为真,因此这里永远会返回第一个字符串,输出固定。
  • 写法2:print(" You Pressed b ") or print(" B is pressed")
    print()函数的返回值为None,布尔值为假,因此执行完第一个print后,会继续触发or后面的第二个print,最终两个内容都会输出,无法实现二选一。
  • 写法3:print(" You Pressed b " | " B is pressed")
    |是按位或运算符,仅支持数字、集合等类型运算,字符串之间不支持按位或操作,运行会直接抛出TypeError错误。
  • 写法4:print(" You Pressed b ") | print(" B is pressed")
    print()返回的None类型之间不支持按位或运算,运行同样会抛出TypeError错误。
正确实现方案

要实现每次运行随机输出不同内容,需要使用Python内置的random模块的choice方法,从备选列表中随机抽取一个元素输出,示例代码如下:

import random

if given_input == 'b':
    # 从两个备选输出中随机选择一个
    print(random.choice([" You Pressed b ", " B is pressed"]))

默认情况下random模块会根据系统时间生成随机种子,每次运行的随机结果几乎都不相同,符合需求。

内容的提问来源于stack exchange,提问作者PythonLearner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:24:03