相关疑难解决方法(0)

NameError:全局名称'xrange'未在Python 3中定义

我在运行python程序时遇到错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 110, in <module>
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 27, in __init__
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\class\inventory.py", line 17, in __init__
builtins.NameError: global name 'xrange' is not defined
Run Code Online (Sandbox Code Playgroud)

游戏来自这里.

是什么导致这个错误?

python range xrange python-3.x runtimeexception

253
推荐指数
5
解决办法
31万
查看次数

两个名单之间的组合?

已经有一段时间了,我无法绕过我想要制作的算法.基本上,我有两个列表,并希望获得两个列表的所有组合.

我可能不会解释它是正确的,所以这是一个例子.

name = 'a', 'b'
number = 1, 2
Run Code Online (Sandbox Code Playgroud)

在这种情况下的输出将是:

1.  A1 B2
2.  B1 A2
Run Code Online (Sandbox Code Playgroud)

棘手的部分是"name"变量中的项目可能比"number"变量中的项目更多(数字将始终等于或小于name变量).

我很困惑如何进行所有组合(嵌套for循环?),如果名称中的项目多于它们在数字列表中的项目,则更加混淆逻辑以移动名称变量中的项目.

我不是最好的程序员但是如果有人可以帮助我澄清逻辑/算法来实现这一点,我想我可以试一试.所以我刚刚陷入嵌套for循环.

更新:

这是3个变量和2个数字的输出:

name = 'a', 'b', 'c'
number = 1, 2
Run Code Online (Sandbox Code Playgroud)

输出:

1.  A1 B2
2.  B1 A2
3.  A1 C2
4.  C1 A2
5.  B1 C2
6.  C1 B2
Run Code Online (Sandbox Code Playgroud)

python algorithm combinations list

158
推荐指数
11
解决办法
14万
查看次数

生成列表的所有可能排列的算法?

说我有一个n个元素的列表,我知道有n个!订购这些元素的可能方式.生成此列表的所有可能排序的算法是什么?例如,我有列表[a,b,c].该算法将返回[[a,b,c],[a,c,b,],[b,a,c],[b,c,a],[c,a,b],[c,b , 一个]].

我在这里阅读 http://en.wikipedia.org/wiki/Permutation#Algorithms_to_generate_permutations

但维基百科从未擅长解释.我不太了解它.

algorithm list permutation

113
推荐指数
8
解决办法
20万
查看次数

在python中查找给定字符串的所有可能排列

我有一个字符串.我想通过改变字符串中的字符顺序从该字符串生成所有排列.例如,说:

x='stack'
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的列表,

l=['stack','satck','sackt'.......]
Run Code Online (Sandbox Code Playgroud)

目前我正在迭代字符串的列表转换,随机挑选2个字母并转置它们以形成一个新字符串,并将其添加到l的设置转换.根据字符串的长度,我计算可能的排列数,并继续迭代,直到设置大小达到限制.必须有更好的方法来做到这一点.

python string permutation

72
推荐指数
7
解决办法
13万
查看次数

排列 - 所有可能的数字集

我有数字,从0到8.我想在结果中,所有可能的那些数字组,每组应该使用所有数字,每个数字只能在一组中出现一次.

我想在PHP中看到可以打印出结果的解决方案.或者,至少,我想在组合学理论上有一些更新,因为我早就忘记了它.计算有多少排列的公式是什么?

示例集:

  • 0-1-2-3-4-5-6-7-8
  • 0-1-2-3-4-5-6-8-7
  • 0-1-2-3-4-5-8-6-7
  • 0-1-2-3-4-8-5-6-7
  • 0-1-2-3-8-4-5-6-7
  • 0-1-2-8-3-4-5-6-7
  • 等等...

php permutation combinatorics

33
推荐指数
6
解决办法
5万
查看次数

没有递归函数调用的排列

要求:生成集合的所有可能组合的算法,无需重复,或递归调用函数以返回结果.

大多数,如果不是所有的答案都在JavaScript中的Permutations提供从循环或其他函数中递归调用函数以返回结果.

循环内的递归函数调用示例

function p(a, b, res) {
  var b = b || [], res = res || [], len = a.length;
  if (!len) 
    res.push(b)
  else 
    for (var i = 0; i < len 
         // recursive call to `p` here
       ; p(a.slice(0, i).concat(a.slice(i + 1, len)), b.concat(a[i]), res)
       , i++
    );
  return res
}

p(["a", "b", "c"]);
Run Code Online (Sandbox Code Playgroud)

当前的问题试图在线性过程中创建给定的排列,依赖于先前的排列.

例如,给定一个数组

var arr = ["a", "b", "c"];
Run Code Online (Sandbox Code Playgroud)

确定可能的排列总数

for (var len = 1, i = k …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm permutation

29
推荐指数
6
解决办法
4479
查看次数

使用bash生成排列

是否有可能编写一个bash脚本,可以从文件中读取每一行并为每个行生成排列(不重复)?使用awk/perl很好.

File
----
ab
abc


Output
------
ab
ba
abc
acb
bac
bca
cab
cba
Run Code Online (Sandbox Code Playgroud)

bash shell permutation

14
推荐指数
5
解决办法
3万
查看次数

递归测验 - 无法解决

今天我的CPSC教授在python中分配了一个测验,主题是递归.

整个班级都陷入了第二个问题,这是下面的问题.没有人能够接近解决方案.

def sub_set(A):
    if A == []: return A
    X = sub_set(A[1:])
    result = []
    for L in X:
        result += _____
    return _____
Run Code Online (Sandbox Code Playgroud)

示例代码:

print(sub_set([1, 2]))    # [[], [1], [2], [1, 2]]
print(sub_set([1, 2, 3])) # [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)

您只能修改下划线,例如下面的示例可能会演示.

我的解决方案远非如此接近,甚至不应该考虑:

def sub_set(A):
    if A == []: return A
    X = sub_set(A[1:])
    result = []
    for L in X:
        result += _____
    return result + [A[:1]] + [A] …
Run Code Online (Sandbox Code Playgroud)

python recursion

11
推荐指数
1
解决办法
1017
查看次数

如何在python中获取长度为n的所有组合

我想知道是否有任何方法可以n从数字列表中获取所有长度组合.

例如,如果我的列表是[1, 2, 3, 4],我想输出(如果我选择n = 3)

[1, 2, 3]
[1, 2, 4]
[1, 3, 4]
[2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

像[2,1,3]这样的其他排列对我没用.

python combinations

11
推荐指数
2
解决办法
8344
查看次数

如何使用Common Lisp获取列表的所有可能排列?

我正在尝试编写一个Common Lisp函数,它将为我提供列表的所有可能排列,仅使用每个元素一次.例如,列表'(1 2 3)将给出输出((1 2 3)(1 3 2)(2 1 3)(2 3 1)(3 1 2)(3 2 1)).

我已经写了一些有用的东西,但它很笨重,它并不总是有用,我甚至都不懂.我不是要求代码,也可能是关于如何思考它的一些指导.我对编写算法知之甚少.

谢谢你,杰森

lisp algorithm common-lisp

10
推荐指数
2
解决办法
6886
查看次数