Bonjour à tous et à toutes, j'ai coder cette fonction par dépit de ne pas savoir faire autrement, j'ai essayé plein de choses, celle-ci marche, mais je ne sais pas pourquoi, quand je met une liste trop grand en entrée, j'ai un message d'erreur du type : ValueError: not enough values to unpack (expected 5, got 4)
Sachant que chaque tuple n’excédera pas 5 éléments, et qu'au plus, dans une liste j'aurais 5 x 5 variables à afficher. Merci de votre aide, si vous avez une méthode un peu moins bourrin à me recommander ?
La sortie doit afficher quelque chose de ce genre :
100 - 10 = 90 90 * 5 = 450 450+2 = 452
4 + 10 = 14 100 + 2 = 102 25 * 14 = 350 350 + 102 = 452
etc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
 
sol = 
[[(100, '-', 10, 90), (90, '*', 5, '=', 450), (450, '+', 2, '=', 452)],
 [(4, '+', 10, '=', 14), (100, '+', 2, '=', 102), (25, '*', 14, '=', 350), (350, '+', 102, '=', 452)],
 [(4, '+', 10, '=', 14), (25, '*', 14, '=', 350), (350, '+', 100, '=', 450), (450, '+', 2, '=', 452)],
 [(4, '+', 10, '=', 14), (25, '*', 14, '=', 350), (350, '+', 2, '=', 352), (352, '+', 100, '=', 452)], etc
 
cible = 452
 
def sol_str(sol,cible) :
	j=0
	for k in range(len(sol)) :
		x = sol[k]
		i = len(x)-1
		if i == 0 :
			a0 = x[0]
			(p1,p2,p3,p4,p5) = a0
			print(p1,p2,p3,p4,p5)
		elif i == 1 :
			a0 = x[0]
			a1 = x[1]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5)
		elif i == 2 :
			a0 = x[0]
			a1 = x[1]
			a2 = x[2]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			(r1,r2,r3,r4,r5) = a2
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5,' ',r1,r2,r3,r4,r5)
		elif i == 3 :
			a0 = x[0]
			a1 = x[1]
			a2 = x[2]
			a3 = x[3]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			(r1,r2,r3,r4,r5) = a2
			(s1,s2,s3,s4,s5) = a3
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5,' ',r1,r2,r3,r4,r5,' ',s1,s2,s3,s4,s5)
		elif i == 4 :
			a0 = x[0]
			a1 = x[1]
			a2 = x[2]
			a3 = x[3]
			a4 = x[4]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			(r1,r2,r3,r4,r5) = a2
			(s1,s2,s3,s4,s5) = a3
			(t1,t2,t3,t4,t5) = a4
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5,' ',r1,r2,r3,r4,r5,' ',s1,s2,s3,s4,s5,' ',t1,t2,t3,t4,t5)
		elif i == 5 :
			a0 = x[0]
			a1 = x[1]
			a2 = x[2]
			a3 = x[3]
			a4 = x[4]
			a5 = x[5]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			(r1,r2,r3,r4,r5) = a2
			(s1,s2,s3,s4,s5) = a3
			(t1,t2,t3,t4,t5) = a4
			(u1,u2,u3,u4,u5) = a5
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5,' ',r1,r2,r3,r4,r5,' ',s1,s2,s3,s4,s5,' ',t1,t2,t3,t4,t5, ' ',u1,u2,u3,u4,u5)
		elif i == 5 :
			a0 = x[0]
			a1 = x[1]
			a2 = x[2]
			a3 = x[3]
			a4 = x[4]
			a5 = x[5]
			(p1,p2,p3,p4,p5) = a0
			(q1,q2,q3,q4,q5) = a1
			(r1,r2,r3,r4,r5) = a2
			(s1,s2,s3,s4,s5) = a3
			(t1,t2,t3,t4,t5) = a4
			(u1,u2,u3,u4,u5) = a5
			print(p1,p2,p3,p4,p5,' ',q1,q2,q3,q4,q5,' ',r1,r2,r3,r4,r5,' ',s1,s2,s3,s4,s5,' ',t1,t2,t3,t4,t5, ' ',u1,u2,u3,u4,u5)
		else :
			pass
	return