2014-08-31 63 views
0

这里是我的简单随机模块的内部利用我写的简单随机函数发生器模块?

from random import randint 
def randomnumget(): 
    randomnumber=randint(1,10) 
    return randomnumber 

然后,我有我的文字冒险/小游戏,其中包括代码来测试随机数是什么。 (我知道它的重复性,这可能意味着我需要稍后重构)

class charactercreator: 
    def characterget(self, randomnumber): 
     if randomnumber==1: 
      print'your hero is dumbledore' 
     elif randomnumber==2: 
      print 'your hero is ruthless pantheon' 
     elif randomnumber ==3: 
      print 'your hero is Percy Jackson' 
     elif randomnumber==4: 
      print 'your hero is hagrid' 
     elif randomnumber==5: 
      print 'your hero is Ingrid Michaelson, Good luck sonny' 
     elif randomnumber==6: 
      print 'your hero is The incredible hulk' 
     elif randomnumber==7: 
      print 'your hero is captain america' 
     elif randomnumber==8: 
      print 'your hero is peter pan' 
     elif randomnumber==9: 
      print 'your hero is catwoman' 
     elif randomnumber==10: 
      print 'your hero is captain hook' 
     else: 
      print('how did you even manage to get this output') 

numget=charactercreator() 

如何有效地利用我的模块?

+0

哦,上帝的编辑让我看起来像这样的笨蛋。谢谢你elmatrak。 – 2014-08-31 15:30:17

回答

2

看起来像characterget应替换为一个简单的字典。

characterget = {1: 'your hero is dumbledore', 
       2: 'your hero is ruthless pantheon', ...} 

,只是使用它:

print characterget.get(randomnumget(), 
         'how did you even manage to get this output') 
0

比方说,你的随机码是randomizer.py在同一个包(文件夹与__init__.py文件吧)

from randomizer import randomnumget 
numget = charactercreator() 
numget.characterget(randomnumget()) 

我建议你阅读official documentation on Python modules