![](/img/trans.png)
[英]How to use a variable that we defined outside the function inside the function
[英]How do i use a variable that is defined inside of a function, outside of a function?
這是我的功能:
def playNovice(marbles):
import random
rand = random.randint(1,(0.5*marbles))
print('Computer takes: ', rand)
a = rand + rand
print(a)
我想重用變量rand。 我感覺可能是:
global rand
我確實嘗試過,但是沒有用,所以我想我用錯了或者一起使用了。
使用return
將值返回給調用者:
import random
def playNovice(marbles):
rand = random.randint(1,(0.5*marbles))
print('Computer takes: ', rand)
return rand
rand = playNovice(6)
a = rand + rand
print(a)
是的,您確實使用global rand
。
您還需要添加playNovice(number of marbles)
才能運行該功能。 僅定義函數就像設置變量但不打印它。
def playNovice(marbles):
global rand
import random
rand = random.randint(1,(0.5*marbles))
print('Computer takes: ', rand)
playNovice(num)
a = rand + rand
print(a)
以上應該可以。
就像一個旁注一樣,最好將所有全局聲明放在函數的開頭,以便在調試時更易於閱讀。
可以使用global rand
但這不是理想的方法。 (我同意,返回值是解決此問題的更好方法)。 這是在這種情況下如何使用global rand
的示例。
當你做
a = rand + rand
您引用的是尚未聲明的rand
。
顯示用global rand
修改rand
的示例如下:
def playNovice(marbles):
global rand
import random
rand = random.randint(1,(0.5*marbles))
print('Computer takes: ', rand)
rand = 10
print(rand)
playNovice(2)
print(rand)
結果如下所示:
10
('Computer takes: ', 1)
1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.