2017-07-26 88 views
-4

我想添加与数组score2数组得分的结果。 我的功能打印分数有问题。你有关于我的问题的想法吗?请。我应该创建另一个空阵列吗?例如一个数组score3?如何添加2个数组?

非常感谢您的帮助。因为我是学生,这是学校的练习。

更多信息 创建一个功能,其属性从最小到最大。 (第一轮) 实施例: 泽马具有分数 亨利具有分数 梅西具有6个分数

然后 创建其属性仍然分数从最小到最大(第二轮)
实施例的功能: 亨利具有分数 泽马具有分数 梅西具有6个分数

下面是结果: 泽马分数 亨利6个分数 个梅西12分

name = []; 
goal = []; 
point = [2,4,6] 
score = [] 
goal2 = [] 
score2 = [] 


def demand(nb): 
    for i in range(nb): 
    name.append(str(input("Enter name n° " + str(i+1) + " please : "))) 
    while True: 
     var = int(input("Enter the number of goal (10-100) for " + name[i] + ": ")); 
     if var >=10 and var <=100: break 
     print(var, " error ! ") 
    goal.append(var) 

    return name, goal; 


def tri1(name, goal): 
    for i in range(len(name)-1,0,-1): 
    for j in range(i): 
     if name[j+1] < name[j]: 
     temponame = name[j] 
     tempogoal = goal[j] 
     name[j] = name[j+1] 
     goal[j] = goal[j+1] 
     name[j+1] = temponame; 
     goal[j+1] = tempogoal 

    return name, goal 


def printTri1(name, goal): 
    for i in range(len(name)): 
    print(name[i] + " \t " + str(goal[i])); 



def printPoint1(name, point, score): 
    for i in range(len(name)): 
    print("Name : " + name[i] + " Your score is of " + str(point[i]) + " : " + str(goal[i]) + " goals. ") 
    score.append(point[i]) 



def demand2(nb): 
    for i in range(nb): 
    print("Name " + name[i] + " - : "); 
    while True: 
     var = int(input("Enter the number of goal (10-100) for " + name[i] + ": ")); 
     if var >=10 and var <=100: break 
     print(var, " error ! ") 
    goal2.append(var) 

    return name, goal, goal2 


def Tris2(name, goal, goal2): 
    for i in range(len(name)-1,0,-1): 
     for j in range(i): 
     for k in range(j): 
      if name[k+1] < name[k]: 
      temponame = name[k] 
      tempogoal = goal[k] 
      tempogoal2 = goal2[k] 
      name[k] = name[k+1] 
      goal[k] = goal[k+1] 
      goal2[k] = goal2[k+1] 
      name[k+1] = temponame; 
      goal[k+1] = tempogoal; 
      goal2[k+1] = tempogoal2; 


def printTri2(name, goal, goal2): 
    for i in range(len(name)): 
    print(name[i] + " \t " + str(goal[i]) + str(goal2[i])); 



def printPoint2(name, point, score2): 
    for i in range(len(name)): 
    print("Name : " + name[i] + " Your score is of " + str(point[i]) + " : " + str(goal2[i]) + " goals. ") 
    score2.append(point[i]) 


def printScore(attaquant, score, score2): 
    for i in range(len(attaquant)): 
     print(attaquant[ i ] + "\t" + str(score[i]) + "\t" + str(score2[i])) 



name, goal = demand(3); 
tri1(goal, name); 
printTri1(name, goal) 
printPoint1(name, point, score) 


name, goal, goal2 = demand2(3) 
Tris2(goal2, name, goal) 
printPoint2(name, point, score2) 
printScore(score, score2) 
+0

所以,你有一个数组名称和其他与分数,并你想分别与这两个合并的数组? –

+3

目前还不清楚你想要什么 – Ivan

+0

你好@ Ubdus萨马德,是的请 – tamzoro

回答

0

如果我得到它的权利,你想“拼接”两个数组在一起:namescore不使用任何字典/内置功能。这里是你如何做到这一点:

name = ["Karim Benzema", "Thierry Henry", "Lionel Messi"]; 
score1 = [12, 5, 20]; 
score2 = [8, 2, 10]; 

# prepare the result array 
result = []; 

# loop from 0 to len(name,score) - 1 
for i in range(len(name)): 

    # append to result the string concatenation of name[i] and score[i] 
    result.append(name[i] + " " + str(score1[i]+score2[i])); 

# display result 
print(result) 

编辑: 下面的代码工作:

def printScore(name, score1, score2): 
    result = []; 
    for i in range(len(name)): 
    result.append(name[i] + " " + str(score1[i] + score2[i])); 
    print(result) 


name = ["Karim Benzema", "Thierry Henry", "Lionel Messi"]; 
score1 = [12, 5, 20]; 
score2 = [8, 2, 10]; 
printScore(name, score1,score2) 

的完整代码,see here

+0

谢谢,但我想添加数组得分和数组得分2 – tamzoro

+0

贝娄...我的功能几乎是正确的:-(谢谢 – tamzoro

+0

你也有很多缩进问题,你也可以在'tr1()'中定义你的函数,出现错误信息请参阅我的编辑 – Ivan