Click here to Skip to main content
15,900,511 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
i need to get all possible digits that can be formed with these n digits. But I am getting a wrong output.
For example,

Input:
123

Output:
1 2 3 11 22 33 12 23 32 31 21 111 222 333 121 131 133......

But my code is giving output such that it prints only digits of length of input.

What I have tried:

mycode
from itertools import permutations

seq = permutations(['a','b','c'])

for p in list(seq):
   print(p)
Posted
Updated 30-Jan-22 21:10pm
Comments
Graeme_Grant 30-Jan-22 22:53pm    
This sounds like a courseware homework question. This link should help: Google Search[^]

While we are more than willing to help those that are stuck, that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.

So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.

If you are having problems getting started at all, then this may help: How to Write Code to Solve a Problem, A Beginner's Guide[^]
I'd think about converting the input into separate values first - a List perhaps - and then think back to when you were taught about Permutations and Combinations.
 
Share this answer
 
You have to use the cartesian product.
Try
from itertools import product
l = ['a', 'b', 'c']
for k in range(1,len(l)+1):
  for cp in product(l, repeat = k):
    print(cp)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900