Dictionary 从不同模块导入同名词典

Dictionary 从不同模块导入同名词典,dictionary,python-3.x,import,module,if-statement,Dictionary,Python 3.x,Import,Module,If Statement,如果有人能回答我,我将不胜感激。我为此挣扎了很长一段时间,我想我应该问问别人。 我有6个字典保存在不同的模块中-模块1、模块2、模块3(每个模块的值不同) 现在,在函数中: 用户输入n BHA= {} BHN={} BN={} CCA={} CCB={} CCO={} if (n==1): from Module1 import BHA, BHN, BN, CCA, CCB, CCO elif (n==2): from Module2 import BHA, BHN,BN,CC

如果有人能回答我,我将不胜感激。我为此挣扎了很长一段时间,我想我应该问问别人。 我有6个字典保存在不同的模块中-模块1、模块2、模块3(每个模块的值不同)

现在,在函数中:

用户输入n

BHA= {} BHN={} BN={} CCA={} CCB={} CCO={}

if (n==1):
    from Module1 import BHA, BHN, BN, CCA, CCB, CCO
elif (n==2):
    from Module2 import BHA, BHN,BN,CCA,CCB,CCO
else:
    from Module3 import BHA, BHN,BN,CCA,CCB,CCO

X=[BHA,BHN,BN,CCA,CCB,CCO]


for i in range(L):
    for j in range (6):
        crccs[i][j]= X[j][sk[i]][0]


问题是,即使我正在更改“n”的值,它也不会遵循if-else顺序!它总是考虑来自if-else语句的Module3/最后一行的值。你能告诉我哪里错了吗?

是整数还是字符串?如果它来自
input()
,而您没有显式地通过
int()
传递它,那么等式将不成立,因为
2!='2'
。你说得对!!问题解决了!我只是使用int(sys.argv[2])而不是sys.argv[2]!!非常感谢你,先生!!
BHA= {} BHN={} BN={} CCA={} CCB={} CCO={}

if (n==1):
    from Module1 import BHA, BHN, BN, CCA, CCB, CCO
elif (n==2):
    from Module2 import BHA, BHN,BN,CCA,CCB,CCO
else:
    from Module3 import BHA, BHN,BN,CCA,CCB,CCO

X=[BHA,BHN,BN,CCA,CCB,CCO]


for i in range(L):
    for j in range (6):
        crccs[i][j]= X[j][sk[i]][0]