首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >itertools无法识别列表

itertools无法识别列表
EN

Stack Overflow用户
提问于 2016-05-19 22:53:13
回答 1查看 48关注 0票数 0
代码语言:javascript
复制
import itertools

#p = input()

def fac(n):
    factorlist = []
    k = 1
    while k < n+1:
        if n % k == 0:
            factorlist.append(k)
            k+=1
            continue
        else:
            k+=1
            continue
    print factorlist
    return factorlist

for a, b in itertools.combinations(factorlist,2):
    if gcd(a,b) == 1:
        print a,b
        continue
    else:
        continue

n=0
while n<=100:
fac(n)
n+=1

在上面的代码中,当我尝试运行itertools.combination时,错误告诉我没有定义因子列表,即使我在函数定义中返回了它,并且我能够打印它。

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 23:02:02

首先需要调用函数并将值放入factorlist变量。它存在于函数fac的局部作用域中,但并不全局存在。要修复它,首先运行fac并将返回值分配给主作用域的变量factorlist。然后,您将能够运行for循环而不会出现错误:

代码语言:javascript
复制
factorlist = fac(some_value)
for a, b in itertools.combinations(factorlist,2):
    do_things
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37326915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档