Python代码问题:如何随机打印指定字符串或打乱后的句子?
问题解决:实现随机二选一打印
我明白你的问题啦——你现在的代码每次都会输出包含'hi'和打乱后句子的列表,但你真正想要的是每次随机二选一,要么输出'hi',要么输出打乱后的"me too thanks"对吧?
问题根源
你当前的代码里,reply = ['hi',scramble('me too thanks')]是创建了一个包含两个元素的列表,然后print(reply)会直接把整个列表打印出来,完全没有执行“随机选择其中一个”的操作,所以才会出现你看到的每次都输出双元素列表的结果。
修复后的代码
我们可以借助random模块的choice()函数来实现随机二选一的功能,它能从给定的序列中随机挑选一个元素。修改后的代码如下:
from random import shuffle, choice def scramble(sentence): split = sentence.split() shuffle(split) return ' '.join(split) for i in range(20): # 先生成打乱后的句子 scrambled_sentence = scramble('me too thanks') # 从两个选项里随机选一个 reply = choice(['hi', scrambled_sentence]) print(reply)
代码说明
- 首先额外导入
choice函数,它是实现随机选择的核心; - 每次循环里先调用
scramble()生成打乱后的句子; - 用
choice()从['hi', scrambled_sentence]这两个选项里随机选一个赋值给reply; - 最后打印
reply,这样就会每次随机输出其中一个内容,完全符合你的需求啦。
内容的提问来源于stack exchange,提问作者user8846537
相关产品推荐
相关产品推荐

