私は Python を初めて使用し、プログラミングの経験がありません。私はこれを持っています(リストか配列かはわかりません):
from random import choice
while True:
s=['The smell of flowers',
'I remember our first house',
'Will you ever forgive me?',
'I\'ve done things I\'m not proud of',
'I turn my head towards the clouds',
'This is the end',
'The sensation of falling',
'Old friends that have said good bye',
'I\'m alone',
'Dreams unrealized',
'We used to be happy',
'Nothing is the same',
'I find someone new',
'I\'m happy',
'I lie',
]
l=choice(range(5,10))
while len(s)>l:
s.remove(choice(s))
print "\nFalling:\n"+'.\n'.join(s)+'.'
raw_input('')
ランダムに 5 ~ 10 行を選択して印刷しますが、同じ順序で印刷されます。つまり、「私は嘘をつく」が選択されている場合、常に一番下に表示されます。選択した行をシャッフルして、よりランダムな順序で表示する方法を知りたいと思っていましたか?
編集:これを実行しようとすると:
import random
s=['The smell of flowers',
'I remember our first house',
'Will you ever forgive me?',
'I\'ve done things I\'m not proud of',
'I turn my head towards the clouds',
'This is the end',
'The sensation of falling',
'Old friends that have said good bye',
'I\'m alone',
'Dreams unrealized',
'We used to be happy',
'Nothing is the same',
'I find someone new',
'I\'m happy',
'I lie',
]
picked=random.sample(s,random.randint(5,10))
print "\nFalling:\n"+'.\n'.join(picked)+'.'
実行されているようですが、何も印刷されません。アンバーの答えからこれを正しく入力しましたか? 私は本当に自分が何をしているのか分かりません。