Hi, i want to produce 4 digit numbers out of the numbers in the list (like 1111, 1112, 1113, 1114,....)
How can i do that?
list_ = [1, 2, 3, 4]
range = (1111, 44445)
You need to explain more clearly what you are trying to do, and what have you tried to code this so far?
for x in range(1, 5):
print(f"111{x}")
Output:
1111
1112
1113
1114
(Nov-09-2021, 08:09 PM)Yoriz Wrote: [ -> ]You need to explain more clearly what you are trying to do, and what have you tried to code this so far?
I want to add all possible 4 digit numbers that i can write by using [1, 2 ,3 ,4 ]
This is what i wrote so far but it's not the right way to do that.
list_1 = [1, 2, 3, 4]
list_2 = list()
for i in range(1111, 4445):
i = str(i)
for j in i:
if i.count(j) == 1:
list_2.append(i)
else:
break
result = 0
for n in list_2:
n = int(n)
result += n
print(result)
Possibly want product. Although shoving the results together to make numbers isn't always trivial.
from itertools import product
digits = "1457"
for number_str in product(digits, repeat=4):
number = int("".join(number_str))
print(number)
Output:
1111
1114
1115
1117
1141
1144
1145
1147
...
(Nov-09-2021, 08:46 PM)bowlofred Wrote: [ -> ]Possibly want product. Although shoving the results together to make numbers isn't always trivial.
from itertools import product
digits = "1457"
for number_str in product(digits, repeat=4):
number = int("".join(number_str))
print(number)
Output:
1111
1114
1115
1117
1141
1144
1145
1147
...
This is exactly what i was looking for. Thank you.
What about if i want to product numbers out of the same digits without repition ?
I mean i don't want to product numbers like 1111, 1114, 1115 etc. I want to use a digit only once in a number.
(Nov-12-2021, 04:14 PM)bouraque7878 Wrote: [ -> ]What about if i want to product numbers out of the same digits without repition ?
I mean i don't want to product numbers like 1111, 1114, 1115 etc. I want to use a digit only once in a number.
Then you want "permutations". You need to make sure you only give it each digit one time or it will repeat it.
from itertools import permutations
digits = "1457"
for number_str in permutations(digits, 4):
number = int("".join(number_str))
print(number)
Output:
1457
1475
1547
1574
1745
1754
4157
4175
...