我已经创建了两个文件。第一个名为EA的函数包含变量和函数调用。第二个名为EA_Functions的文件包含EA中使用的所有函数
这是EA:
from EA_Functions import *
HIGHEST_NUMBER = 10
LOWEST_NUMBER = 1
SET_SIZE = 5
NUMBER_OF_PARENTS = 2
NUMBER_OF_CHILDREN = 2
MUTATION_STEP_SIZE = 0.5
warms = {}
# Create an initial random sets of warms
for i in range(SET_SIZE):
warms[i] = np.random.randint(low=LOWEST_NUMBER, high=HIGHEST_NUMBER + 1, size=SET_SIZE, dtype=int)
# Order the set of warms based on the error
warms_sorted = sort(warms)
这是EA_函数:
import numpy as np
from random import randint
def calculate_error(lst):
return (SET_SIZE - np.mean(lst)) ** 2
def sort(dictionary):
return sorted(dictionary.items(), key=lambda item: calculate_error(item[1]))
我想使用第一个文件EA中包含的SET\u SIZE变量
如果在EA_函数中我尝试导入EA:
from EA import *
我在执行“主”代码时出错,文件EA
您将收到错误,因为您有一个循环导入。如果您来自
EA.py
中的EA_Functions.py
,则不应从EA_Functions.py
中的EA.py
导入您可以在函数中添加如下参数:
然后,当您调用它时,通过设置_SIZE来计算_error()
相关问题 更多 >
编程相关推荐