我最近用C编写了一个数独求解器来练习编程.在完成它之后,我决定用Python编写一个等效的程序,用于语言和更多练习之间的比较,这就是问题所在.似乎是我在while循环外声明的全局变量(sudokupossibilities [] [] [])在循环中不可用.我已经尝试添加用于调试的print语句,似乎它在while循环之外设置正确(全部),但是一旦进入循环,值大多为零,只有几个.我发现解决这个问题的唯一方法是在"for k in range(9):"之后添加一个语句,将其设置为一个 - 这使得以下语句过时并使程序变慢.我已经包含了下面的Python版本的源代码和它之后的C版本.
#! /usr/bin/python3.1
sudoku = [[0] * 9] * 9
sudokupossibilities = [[[1] * 9] * 9] * 9
completion = 0
#Input a set of values, storing them in the list "sudoku".
print("Input sudoku, using spaces to separate individual values and return \
to separate lines.")
for i in range(9):
string = input()
values = string.split(" ")
sudoku[i] = [int(y) for y in values]
for i in range(9):
for j in …Run Code Online (Sandbox Code Playgroud) 当类的名称在编译时未知时(例如,如果它是一个插件),我如何在 Java 中调用一个类。例如,用户从 GUI 中选择一个插件(Java 类),然后应用程序创建该类的新实例,并调用其方法之一(方法名称在编译时已知(例如“moduleMain”) ))。
感谢您的任何意见。