【问题标题】:replace some parts for cloze deletion test替换完形填空测试的一些部分
【发布时间】:2018-07-21 02:30:23
【问题描述】:

例如,我有这样的文字:This is a good reason to stop.(字数总是大于 5)

words = ['This', 'is', 'a', 'good', 'reason', 'to', 'stop']
flashcards_count = ciel(len(word) / 3)

我想要的结果:

[
'This __ a good ______ to ____.'
'____ is a ____ reason __ stop.'
'This is _ good reason to stop.'
]

您可能会注意到,我尽量避免按顺序放置空格,除非它是最后一张抽认卡。

因此,为此,我将words 洗牌并将其分成 3 个以制作每个抽认卡,但结果可能是这样的:

[
'This is a ____ ______ __ stop.'
'____ __ _ good reason to stop.'
'This is a good reason to ____.'
]

【问题讨论】:

  • 我不确定我是否理解 - 你的意思是你想洗牌一个列表,试图确保每个单词之间至少有一个“新”单词和它以前的邻居?
  • 是的,没错,我真的很难解释

标签: javascript python


【解决方案1】:

你可以使用 random 模块来打乱一个字符串列表,然后用空格加入它们:

import random
list = ['This', 'is', 'a', 'good', 'reason', 'to', 'make', 'stop']
random.shuffle(list)
print " ".join(list)

如果您想随机播放非字符串,请查看Shuffling a list of objects

【讨论】:

  • 我已经改变了问题,我知道如何在 python 中洗牌!
猜你喜欢
  • 2016-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
相关资源
最近更新 更多