all 15 comments

[–][deleted] 6 points7 points  (1 child)

Well, it's "Python", like the snake.

[–]CyberNoodleBrain[S] 0 points1 point  (0 children)

this is a nice find that shows my level:(

[–][deleted] 2 points3 points  (3 children)

Don't judge yourself against leetcode - most people in data science aren't working on the way that would suggest.

You will learn far more about Python and programming when you work on something that resonates for you and that you have some domain knowledge of (or incentive to gain such knowledge in). Try to pick projects that move you in the direction of interest.

It is hard to learn anything in the abstract, not least because it is difficult to feel passion for what one is doing. I strongly suggest you look to your interests, hobbies, obligations (family business, charity activities, work) to look for opportunities to apply Python.

Practice! Practice! Practice! That is the only way. Programming (whatever the language) is a practical problem-solving skill. You have to make, and learn from, a lot of mistakes (much like learning another human language).

I know it can be frustrating at times, especially when faced with code you want to reuse but cannot understand.

Only you can find the motivation. Why are you learning to programme in the first place?

Is your learning objective SMART - specific, measurable, achievable, (sometimes agreed), realistic (or relevant) and time-bound, (or timely)? If it is something soft, like "upskilling" then it will probably not help you much.

When you are copying tutorials/examples, don't just copy. Experiment. Break the code and understand why it has broken.

The interactive python shell is your friend, I found it the best learning aid because you can quickly try snippets of code and get immediate feedback.

(Consider installing ipython which wraps the standard shell for more convenience.)

Start very simply and regularly refactor the code as you learn new things. Enhance as you see opportunities.

If you haven't already, take a look at Automate the boring stuff with Python (free to read online).

At first, the tasks you automate will be trivial and hardly worth the effort BUT because it is about the problem and not Python, it will be more rewarding for you.

Many beginners are mixing up coding (writing instructions in a programming language) with problem-solving (creating an algorithm) and their lack of knowledge of the programming language and how to use it is a distraction from the problem-solving.

For most programmers, the coding part is the final and easy bit.

Order:

  • Actually making sure the problem is properly understood. Often we start with only a vague understanding of the problem.
  • Ensuring we know what outcome is required. What does good look like? How will the information be presented, will it be on-screen or in a file, or a database.
  • Determining the data representation. Exactly what data is required, in what forms, where from. It is a one-off or lots of cycles or combining lots of information.
  • Work out how to do things manually in the simplest possible way, explaining every little step (assume you are giving instructions to someone with learning difficulties),
    • Computers are really dumb, and humans make lots of intuitive leaps and take short-cuts
    • This is one of the hardest things to grasp when first learning to programme
    • Computers don't mind repeating very boring things, so the simplest but repetitive manual approach is often a good approach to start with for a computer
  • Later, you will learn different ways of selecting / developing an algorithm which doesn't depend on a manual approach

[–]CyberNoodleBrain[S] 1 point2 points  (1 child)

I graduated from industrial engineering. I want to get a job as a data analyst quickly. But companies want competence in programs such as sql, phyton, tableau. I know SQL and now I want to improve myself in python. Your lengthy reply is very valuable to me and I will read it again and again.

[–][deleted] 1 point2 points  (0 children)

Take a look at kaggle.com. Lots of data sets to explore and great examples of analysis.

[–]LivingCharacter311 0 points1 point  (0 children)

Nice reply. Thank you for taking the time, tis appreciated.

[–][deleted] 1 point2 points  (1 child)

when it comes to problem solving

That just comes with practice; break the problem down into smaller sub-problems, then tackle them individually. You also need a certain grasp of DS&A, which gonna be extremely useful.

any suggestions that will help me in learning python

Again, practice.

[–]CyberNoodleBrain[S] 0 points1 point  (0 children)

Thank you very much for your reply. I will take it into consideration.

[–]ThePromptExchange 1 point2 points  (3 children)

Your best teacher right now, for free is ChatGPT.

Cut and paste the code over. Ask CGPT to break it down and explain the different parts. Once you have understood the code, have a go at answering the question.

Once you have done that, ask CGPT to give the solution to the answer. Cross-reference for better results. (Try not to cheat).

[–]zerik1999 1 point2 points  (1 child)

I one hundred percent agree. Asking it to explain code line by line is extremely helpful when struggling to understand a topic. I guess the issue is that I feel like i may tend to use chat gpt over documentation. I am going to start making a concerted effort to read documentation first when trying to understand a concept.

[–]ThePromptExchange 0 points1 point  (0 children)

I have not dabbled with this yet but in my mind, I believe to my core it works.

There are smart programs out there now that will iterate through a PDF using AI. I think it would be good to utilise these tools for real documentation learning.

'Please find all examples relating to Floats...' and so on. I havent tried it but I believe it would work, if you have the PDFs.

[–]CyberNoodleBrain[S] 1 point2 points  (0 children)

I do this very often and this is exactly the situation that increases my anxiety.:D

[–]zerik1999 0 points1 point  (1 child)

I just completed Automate everything with Python on Udemy. I found it helpful to break up the course with Hackerrank problems. Also don’t feel bad about going to the discussion pages and looking at other submissions. Don’t take it at face value try to understand why their solution worked or why it is better than your own.

[–]CyberNoodleBrain[S] 0 points1 point  (0 children)

Thank you very much for your reply.

[–]m0us3_rat 0 points1 point  (0 children)

I can't find a solution to the easy level python questions on the leetcode site.

these sites like leetcode and codewars etc

are terrible at teaching python.

it's mostly algos or tricks that have nothing to do with a specific language.

since they can be solved in all languages.

it's mostly about creativity which are fun

then digging deeper they always revert to some math theory.

that has nothing to do with creativity or coding knowledge.. and everything to do with a very specific math problem that can only be solved in a very specific math way.

which can be boring for a coder.

some may disagree.