2017-01-24 20 views
-1

このコードをどのように短縮するかについてのヘルプや説明が必要ですか?Python 3:if文とelif文のリストを短縮するには?

私はちょうど2つを組み合わせることを考えたが、私が試したとき、私はちょうどエラー

任意のアイデアを得ておきますか?

ありがとうございました!

import random 

fave_word = 'hello' + "world" 

rand_num = random.randint(0,3) 

if rand_num == 0: 
    fave_word += '' 

elif rand_num == 1: 
    fave_word += 'Bob' 
elif rand_num == 2: 
    fave_word += 'BobBob' 
elif rand_num == 3: 
    fave_word += 'BobBobBob' 
else: 
    fave_word += '' 
print(fave_word) 

fave_word_2 = 'csc108' + "world" 
if rand_num == 0: 
    fave_word_2 += '' 
elif rand_num == 1: 
    fave_word_2 += 'Bob' 
elif rand_num == 2: 
    fave_word_2 += 'BobBob' 
elif rand_num == 3: 
    fave_word_2 += 'BobBobBob' 
else: 
    fave_word_2 += '' 
print(fave_word_2) 
+0

はに従ってテキストを追加するために辞書を使用しますインデックス。 –

答えて

1

"Bob"を繰り返すかのように見えますrand_num回。

import random 

fave_word = 'hello' + "world" 

rand_num = random.randint(0,3) 
fave_word += rand_num * "Bob" 
print(fave_word) 

rand_numあなたはリストに&インデックスを使用することができます。1.

0

である場合、これは

helloworldBob 

を出力します:あなたはこのようにそれを行うことができます。

のように:私たちは、背後にあるロジックについて多くの詳細を持っており、この多くを言うことができないので、かなりのダミーデータを見ていない words = ['', 'Bob', 'BobBob', 'BobBobBob'] fave_word += words[rand_num]

...