Python循环随机输出0、1与指定字符串二十次的实现问题
实现随机输出0、1或指定字符串(20次无固定顺序)
原代码问题分析
你提供的代码之所以固定输出01hello循环20次,是因为Python的短路求值特性:print()函数返回None(布尔判断中视为False),代码会依次执行print(n, end='')、print(n+1, end='')、print(x),每次循环都按固定顺序输出三个内容,完全没有随机性。
解决方案
要实现随机选择输出内容,借助Python的random模块,每次从候选内容里随机挑选一个输出,重复20次即可。
完整代码如下:
import random # 定义所有可选的输出内容 choices = ['0', '1', 'hello'] for _ in range(20): # 随机选择一个内容 selected = random.choice(choices) # 输出内容,end=''确保所有输出连在一起 print(selected, end='') # 最后换行,避免后续内容和输出粘连 print()
代码说明
random.choice(choices):从列表choices中随机选取一个元素,每次循环的选择独立随机,保证输出无固定顺序- 把候选内容都定义为字符串(
'0'、'1'),是为了和'hello'统一处理,避免整数与字符串输出的差异 end=''参数让所有输出内容连续拼接,符合你期望的000hello1hello101这类格式
内容的提问来源于stack exchange,提问作者Iplaysoccer
相关产品推荐
相关产品推荐

