如何将字符串(名称)与3个相应的整数值(分数)存储

时间:2015-05-18 12:59:31

标签: python multidimensional-array file-writing

我正在尝试编写一个程序,用于存储针对玩家姓名的测验结果。我需要始终记录过去3次针对用户名的尝试。我需要能够将这些结果存储在3个类别组中的不确定数量的玩家中(因此是3个阵列)。到目前为止,我已经得到了这个,但现在变得非常困难。

我有3个阵列,有3个字段。第一个字段用于名称,第三个字段用于存储分数尝试。

cla_1results = ([],[],[],[])
cla_2results = ([],[],[],[])
cla_3results = ([],[],[],[])

file = open("results.txt"")

if语句根据类代码确定存储结果数据的数组

if class_code == "CL1":                
    cla_1results[0].append(full_name)
    cla_1results[1].append(total)
    file.write([cla_1results])
elif class_code == "CL2":
    cla_2results[0].append(full_name)
    cla_2results[1].append(total)
    file.write([cla_2results])
elif class_code == "CL3":
    cla_3results[0].append(full_name)
    cla_3results[1].append(total)
    file.write([cla_3results])

1 个答案:

答案 0 :(得分:0)

就存储分数的结构而言,尝试使用看起来更像这样的东西

cla_1results={}
cla_2results={}
cla_3results={}

my_file=open("results.txt"."r+")

if class_code=="CL1":
    if full_name in cla_1results:
        cla_1results.append(total)
    else:
        cla_1results[full_name]=[total]
    my_file.write(cla_1results[full_name])
elif class_code=="CL2":
    if full_name in cla_2results:
        cla_2results.append(total)
    else:
        cla_2results[full_name]=[total]
    my_file.write(cla_2results[full_name])
elif class_code=="CL3":
    if full_name in cla_3results:
        cla_3results.append(total)
    else:
        cla_3results[full_name]=[total]
    my_file.write(cla_3results[full_name])

此外,如果你想删除最老的核心,如果这个人的数量超过3,你可以加一点cla_1results[full_name][0].remove。希望这会有所帮助。