2017-10-21 3 views
0

より大きな名前のリストからaの名前のランダムなリストを作成したいと思います。問題は、生成される名前の間にスペースがないことです。私はスペースを入れる方法を理解できません。私は名前の間にスペースを追加することができますどのように SaraAdamDickPopeyeSaraPopeyeLoryランダムリストのスペースが生成されました

:ここに私のコードは

import random 

final_list = "" 

a=0 

sss = ("John","Adam","Sara","Lory","Dick","Popeye") 

while a<7: 

    x = random.choice(sss) 

    final_list += x 

    a += 1 

print (final_list) 

だ結果がこのようなものでしょうか?また、誰もこのコードを実行する短い方法を提案することができますか? 、

x = random.choice(sss) 
final_list += " "+x if final_list else x 
a += 1 

あるいは、より正確にはリスト内包で' '.joinを使用します:

+0

ようこそ。時間をかけて[ask]を読んでください。 [Pythonで文字列を連結するのに好ましい方法は何ですか?](https://stackoverflow.com/questions/12169839/which-is-the-preferred-way-to-concatenate-a-string-in-python)助けてください。インデントを修正してください。 – wwii

答えて

0

あなたは、元の連結での追加の空の空の文字列を追加することができます

sss = ("John","Adam","Sara","Lory","Dick","Popeye") 
final_string = ' '.join(random.choice(sss) for i in range(7)) 
+0

これは正確には正しく動作しません。最初の名前の前にスペースが追加されます。 –

+0

@ShubhamSingla私の最近の編集をご覧ください。 – Ajax1234

0

スペースが先頭または末尾のないようにするには、チェックfinal_listの長さがすでに0より大きい場合明示的なチェックをしたくない場合は

import random 

final_list = "" 
a=0 
sss = ("John","Adam","Sara","Lory","Dick","Popeye") 
while a<7: 
    x = random.choice(sss) 
    final_list = final_list + " " + x if len(final_list) > 0 else x 
    a += 1 
print (final_list) 

することは、あなたがfinal_listを構築した後、先頭と末尾のスペースを削除するstrip機能を利用することができます。

関連する問題