2024-03-29 11:22:52 发布
网友
我该如何选择一行,并选择该行上的所有单词,然后使用一组打印到屏幕上。到目前为止,我得到的是:
import random test = [''' line 1 line 2 line 3 line 4 line 5 line 6 '''] print (random.choice(test))
我想这正符合你的要求:
print random.choice(test[0].split('\n')) line 5
不过,我有一种感觉,你想做的不止这些。在
我怀疑你想随机地选择它们而不需要替换;如果你所做的只是随机选择单词,比如
do until set empty prick a random word and print it
它将(a)不终止,(b)平均每1/n次为n个单词重复单词。在
使用Python集是很有吸引力的,但是不方便从集合中随机选择一个项目,因为它不是有序的。(你可能会提出这样一个例子,set#pop会起作用,因为它接受任意的下一个项目,但是如果我在评分,我就不会给予充分的信任。)另一方面,描述是一个集合。在
set#pop
所以我会这样做:
首先把这些项目放入一个列表中。请注意,您已经将一个包含10行的字符串放入列表中,即您的列表的长度为1。我敢打赌你最好像
接下来,使用choice作为
choice
word = random.choice(words)
打印出来
print word
把它从名单上删除
words.remove(word)
把它放进一个循环中,直到你的话用完为止。你会得到这样的信息:
>>> import random >>> words = ['a', 'b', 'c' ] >>> while len(words) > 0: ... word = random.choice(words) ... print word ... words.remove(word) ... b a c
gnibbler指出你也可以
import random words = [ ... ] shuf = random.shuffle(words) for i in shuf: print i
但这并不是将列表视为一个集合;它取决于shuffle是否有一个隐式的顺序集。在
我想这正符合你的要求:
不过,我有一种感觉,你想做的不止这些。在
我怀疑你想随机地选择它们而不需要替换;如果你所做的只是随机选择单词,比如
它将(a)不终止,(b)平均每1/n次为n个单词重复单词。在
使用Python集是很有吸引力的,但是不方便从集合中随机选择一个项目,因为它不是有序的。(你可能会提出这样一个例子,
set#pop
会起作用,因为它接受任意的下一个项目,但是如果我在评分,我就不会给予充分的信任。)另一方面,描述是一个集合。在所以我会这样做:
首先把这些项目放入一个列表中。请注意,您已经将一个包含10行的字符串放入列表中,即您的列表的长度为1。我敢打赌你最好像
^{pr2}$接下来,使用
choice
作为打印出来
把它从名单上删除
把它放进一个循环中,直到你的话用完为止。你会得到这样的信息:
gnibbler指出你也可以
但这并不是将列表视为一个集合;它取决于shuffle是否有一个隐式的顺序集。在
相关问题 更多 >
编程相关推荐