Hallo!
möchte gern aus einer Liste z.B [0,1,2,3] alle Möglichen Rechnungen erstellen! z.b: 0+0=0, 0+1=1 usw..... gibt es hier eine einfache Funktion dafür?
Danke!
Rechnungen aus Liste
Code: Alles auswählen
In [1]: from itertools import combinations
In [2]: from operator import add
In [3]: map(lambda x: add(*x), combinations(range(4), 2))
Out[3]: [1, 2, 3, 3, 4, 5]
Code: Alles auswählen
In [84]: from operator import mul, div, sub, add
In [85]: for numbers in combinations(xrange(4), 2):
for operator in (mul, add, sub):
print '%s%r = %d' % (operator.__name__, numbers, operator(*numbers))
....:
....:
mul(0, 1) = 0
add(0, 1) = 1
sub(0, 1) = -1
mul(0, 2) = 0
add(0, 2) = 2
sub(0, 2) = -2
mul(0, 3) = 0
add(0, 3) = 3
sub(0, 3) = -3
mul(1, 2) = 2
add(1, 2) = 3
sub(1, 2) = -1
mul(1, 3) = 3
add(1, 3) = 4
sub(1, 3) = -2
mul(2, 3) = 6
add(2, 3) = 5
sub(2, 3) = -1
Code: Alles auswählen
In [145]: from operator import mul, div, sub, add
In [146]: from itertools import izip
In [147]: for first_num, second_num in combinations(xrange(4), 2):
for sign, operator in izip(('*', '+', '-'), (mul, add, sub)):
print '%d %s %d = %d' % (first_num, sign, second_num, operator(first_num, second_num))
.....:
.....:
0 * 1 = 0
0 + 1 = 1
0 - 1 = -1
0 * 2 = 0
0 + 2 = 2
0 - 2 = -2
0 * 3 = 0
0 + 3 = 3
0 - 3 = -3
1 * 2 = 2
1 + 2 = 3
1 - 2 = -1
1 * 3 = 3
1 + 3 = 4
1 - 3 = -2
2 * 3 = 6
2 + 3 = 5
2 - 3 = -1