Project idea / Never coded before / Where do I start?



I’ve never done any form of coding before and have a few questions about starting.

The reason I’m trying to learn coding is for some ‘Project’ I want to try. In short doing it by hand/eye would be too slow and so I feel in the long run having a knowledge of coding will help more.

Here’s the goal/what I am trying to do:

I have a list of names and want to generate groups/order them into about 13 names each. The catch being the way they are classed (I should say that 13 is only an example number).

The way I want to class/group the names is based upon is that there are no overlaps between the letters and the position of the letter.

Here’s an example:

Abigail Johnson
Alexandra Palace
Alison Smith
Amanda Davison

In terms of the position/numbering, I want you to imagine there’s no spaces between the names like so:

And as you see the first and second names have a clash with ‘L’ at position 2.

So basically what I want is a group of names where there are no overlaps between any letters. So I can’t have a L appearing in the 2nd position more than once.

I’ve tried looking online and have had no luck as I may have seen the solution but it was all code, so I feel like I need and want to learn coding to help me if I do decide to use it again following this.

So my main questions/issues are:

  1. Is this possible to do?
  2. If so, which language would I need to learn?

if you need me to clarify anything I will.

Thanks in advance.


python in general is good for data managing


While we might be able to steer you down some theoretical trails, in the end it would not be you solving this problem. Given you are for lack of a better term, green, it would be better for you to set this aside for a good long while and get fully immersed in a language.

For instance, here is one possible way to remove the space between names…

name = "Abigail Johnson"
name = ''.join(name.split())
print (name)    # AbigailJohnson

But that is just mechanics using the syntax of the language. The same could be applied in most any language. Pick one, and pour yourself into it so you can look at a problem and already start seeing possible pieces of the solution coming together in your mind. Learn how to break a problem down into its smallest component parts and weave the logic around them, then thread the pieces together into a finished whole.

Programming is not just syntax, but understanding the problem, understanding the available tools, understanding logic and step-by-step algorithms, understanding data types, understanding the input/output mediums, etc. There is no way to learn it by rote, only practice and teaching our mind to think in programming constructs.

In due course you will piece together a program that will do what it is you want it to do, but today is not that day if it is to be at least some part of the way under your own steam and direction. Telling us what you want is not enough to compel us to wreck your chances of solving this yourself. Happy learning!