我创建了两个列表,a,b,其中包含10个随机数(从0到61),然后比较列表是否具有共同数字。
我将公用号码存储在单独的列表中。
如果列表中确实包含数字,则commonCount将上升,如果列表为空,则noCommonCount将上升。
但是当我要在对函数进行rand十次后打印计数时,它会打印出0。
我不知道为什么,因为我在函数外部声明了变量commonCount和noCommonCount。
import random
noCommonCount = 0
commonCount = 0
def list_overlap():
a = []
b = []
count = 0
while count < 10:
count = count + 1
a.append(random.randint(0, 61))
b.append(random.randint(0, 61))
commonNumbers = []
for i in a:
if i in b:
if i not in commonNumbers:
commonNumbers.append(i)
if not commonNumbers:
noCommonCount + 1
else:
commonCount + 1
functionCount = 0
while functionCount < 10:
functionCount = functionCount + 1
list_overlap()
print(noCommonCount)
print(commonCount)
答案 0 :(得分:2)
对于修改在外部作用域上声明的变量的函数,还需要以下形式的声明
global variable_name
在函数中是必需的(通常直接在函数声明之后。