2017-07-26 7 views
-4

Ich möchte die Array-Score mit dem Array Score2 hinzufügen, um das Ergebnis zu haben. Meine Funktion Druckpartitur hat ein Problem. Hast du eine Idee zu meinem Problem? Bitte. Soll ich ein weiteres leeres Array erstellen? Zum Beispiel ein Array score3?Wie zwei Arrays hinzufügen?

Vielen Dank für Ihre Hilfe. Weil ich ein Student bin, ist es eine Übung für die Schule.

Weitere Informationen Erstellen Sie eine Funktion, deren Attribute vom kleinsten zum größten Punkt zählen. (Erste Runde) Beispiel: Karim Benzema hat 2 Partituren Thierry Henry hat 4 Partituren Lionel Messi 6 Partituren

Dann Erstellen einer Funktion, deren Eigenschaften noch Noten vom kleinsten zum größten (zweite Runde)
Beispiel: Thierry Henry hat 2 Partituren Karim Benzema 4 Partituren hat Lionel Messi 6 Partituren

Hier ist das Ergebnis: Karim Benzema 4 Partituren Thierry Henry 6 Partituren Lionel Messi 12 Partituren

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

So haben Sie ein Array mit Namen und andere mit Partituren, und Sie wollen ein Array mit diesen beiden zusammengeführt ?? –

+3

Es ist nicht klar, was Sie wollen – Ivan

+0

Hallo @ Ubdus Samad, ja bitte – tamzoro

Antwort

0

Wenn ich es richtig machen, wollen Sie zwei Arrays "verketten" zusammen: name und score ohne Wörterbücher mit/in-integrierte Funktionen. Hier ist, wie Sie das tun:

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) 

EDIT: Der folgende Code funktioniert:

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) 

Voll Code, see here

+0

danke, aber ich möchte die Array-Score und das Array score2 hinzufügen – tamzoro

+0

Balg ... meine Funktion ist fast richtig :-(danke – tamzoro

+0

Sie haben eine Menge Einbuchungs-Probleme auch Sie definieren Ihre Funktionen innerhalb 'tr1()', die verursacht Fehlermeldung zu erscheinen. Bitte sehen Sie meine edit – Ivan