Python 3:如何缩短"如果"和" elif"声明?

时间:2017-01-24 16:18:03

标签: python python-3.x if-statement

我需要帮助或解释如何缩短此代码?

我考虑过将这两者结合起来,但是当我尝试时,我只是不断收到错误

有什么想法吗?

谢谢!

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)

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)

这将打印

helloworldBob

如果rand_num为1。

答案 1 :(得分:0)

您可以使用列表&指数。

像: words = ['', 'Bob', 'BobBob', 'BobBobBob'] fave_word += words[rand_num]

我们没有太多关于背后逻辑的细节,这看起来非常虚拟数据所以不能说太多......