2013-07-30 88 views
2
import random 

b = random.choice([2309,1897,2307]) 

def function(user): 
    user.getApple().eatTheApple(b, 2000, 50, 1, 8663, 4444) 

我對Python很新,但我很快就接受它。 B是變量,它等於一個4位數字。這4位數字將隨機挑選。在一個函數中使用變量

那麼我想這個值要放在與其他的固定值,如2000,50,1,8663和4444

我怎麼能這樣做?我一直在環顧四周。

+4

你有一些代碼,但有關代碼?它是否代表不起作用的東西? –

+3

你現在的代碼有什麼問題? – Doorknob

+0

什麼是'用戶'?對'function'的輸入是否實際上有一個getApple方法,它返回一個帶有'eatTheApple'方法的東西? – user2357112

回答

2

只要將b添加爲函數的參數,如果我理解正確。

考慮:

def function(user,b): 
    user.getApple().eatTheApple(b, 2000, 50, 1, 8663, 4444) 

然後我們可以用測試(假設類用戶定義別的地方):

import random 
myUser = User() 

b = random.choice([2309,1897,2307]) 
function(myUser , b) 

我們已經取得了兩個參數的功能,並通過他們倆在!另一種方法是:

def function(user): 
    user.getApple().eatTheApple(random.choice([2309,1897,2307], 2000, 50, 1, 8663, 4444) 

我認爲用戶是一類的地方,所以有可能做到這一點又一個漂亮的方式,如果這是您的情況(也可能不是)。我們有我們的類聲明:

class User: 
    def __init__(self): 
     #this code is executed when the class is created 
     self.b = random.choice([2309,1897,2307]) 

    def function(self): 
     #this code is owned by each User object 
     user.getApple().eatTheApple(self.b, 2000, 50, 1, 8663, 4444) 

這將通過執行:

myUser = User() 
myUser.function() 

喜歡Python的面向對象設計,所以這將是很好!但是,它假定「b」值對用戶來說是私人的,並且不會改變。我會給你選擇,如果它

相關問題