Skip to main content

Learn Python From Basics. Part 1!

Reference:  https://www.amazon.com/Programming-Python-Complete-Introduction-Language/dp/0321680561
This is going to be a long session of python programming. From this session, we are going to learn about basic python syntax and structures and then move on to the advanced topics. I have divided python into eight different topics. In this blog, we will take a look at the first two pieces. I have tried to make this session as simple as possible and as much interactive as I could. So, what are we waiting for? Let's dive in! Feel free to comment on any part you find difficult.
The eight key pieces  to learn at first in Python are: 1. Data Types 2. Object References 3. Collection Data Types 4. Logical Operations 5. Control Flow Statements 6. Arithmetic Operators 7. Input/Output 8. Creating and Calling Functions 1. Data Types:  There are several built-in data types in python. Here we are going to discuss some of them. In python, the integer has no limit. It is only limited by the machine's m…

Basic guidelines for Chess opening.

If you are reading this blog, you probably know how the pieces move in the game of chess. The player with the white pieces always moves first. The opening is generally considered complete when your rooks are connected. There are some basic principles to follow how to play efficiently. We should focus on the development of pieces. Here are top 10 opening rules for good chess opening:
  1. We must attack the center of board. So, OPEN with a CENTER PAWN like e4, d4. While (e4d4e5d5) are generally regarded as the central squares, the same principle can sometimes be extended to the adjacent squares like (c4c5d3d6e3e6f4f5).   
  2. DEVELOP pieces with threats
  3. Always develop your Knights before Bishops. Develop knights to towards the center of board rather than side of board. When the knight is developed in the center, it could attack up to 8 squares. The real reason to develop Knights before Bishops is that Knight are shorter-range pieces, and it will take them a couple of moves to get into a strong or threatening position, while the longer-range Bishops can often find a good post in a single move.
  4. Do not move the same piece more than one time. 
  5. Avoid too many pawns opening at the beginning. Make as FEW PAWN MOVES as possible.
  6. Do not bring out your queen too early. The queen can easily be chased by pawns and minor pieces in the opening. Every time your opponent develops a piece with tempo while you have to move the queen, you fall one tempo behind.
  7. Make king castle as soon as possible. Castling really is very important. Casting connects the rooks but more significantly, it gets the king out of the center, the most active part of the board. If one side is able to ply the center open, the centralized king is in great danger of attack.
  8. Play to gain the center control. Normally, if you control the center, then your pieces have more control over the whole board in general. Thus, a knight centralized on e5 generally controls more important squares than a knight passively placed, say, on a4.
  9. Try to maintain at least ONE PAWN in the center.
  10. DON'T SACRIFICE without a clear and adequate reason.
Blog by Saroj Bhattarai

Comments

  1. Yeah, All pieces achieves their optimum power when placed in or near center. So attacking center would be great opening(theoretically).

    But, what if both black and white are trying to control the center. I would love to see answer in further articles.

    ReplyDelete
    Replies
    1. Thank you for checking my blog! I would love to post about your question on my upcoming blog. :-)

      Delete
    2. Where is the update/upcoming blog?

      Delete
  2. Thanks for sharing this idea. Lets hope I could make a better opening now. How about defence? Well we would may not get chance for white always. Waiting for upcoming articles.

    ReplyDelete
    Replies
    1. I'll try and answer your question in my upcoming posts. Stay tuned and thanks for being here, Sagar!

      Delete

Post a Comment

Popular posts from this blog

How to get GitHub Student Pack, Apply now

Git is a version control system. GitHub is a web-based hosting service for version control using git. You can save all the projects on GitHub. GitHub has given some benefits for students. They recently are providing the student development pack for the students to give access to developers tools for free. Some of these real world tools are too expensive for a student to use. So, for those students who love the education, this could be just great! To get students developer pack, we are going to follow these steps:
1. First you need to make an account on GitHub. Go to this link https://www.github.com/ and sign up for free. 2. After making an account on GitHub, visit the link https://education.github.com/pack/.
3. Click on “Get your pack” button.  4.Sign with GitHub with your username and password.  5. Click on the button “Yes, I’m a Student”.
6. Enter your name and verify your academic status. Add a photo of your identity card where it says “Drop file here or click to upload”. 
7. Enter your C…

How to write PROLOG program for half adder?

In this problem, we are going to implement some logic (of course it is all about logic) that will run calculate the half adder sum and carry. We know has two inputs, and it will give sum and carry which looks like this:





X            Y                 Sum                 Carry
0            0                  0                      0
0            1                  1                      0         
1            0                  1                      0
1            1                  0                      1


So, to implement sum we need XOR gate and to implement Carry we need AND gate.

Here is how we do it:

xORGate(0,0,0).
xORGate(0,0,0).
xORGate(0,0,0).
xORGate(0,0,0).


aNDGate(0,0,0).
aNDGate(0,0,0).
aNDGate(0,0,0).
aNDGate(0,0,0).

halfadder(X,Y,S,C):-xORGate(X,Y,S), aNDGate(X,Y,C). 

Now, you can run this code by giving the values of X and Y.
like this:
halfadder(1,1,S,C)  and the output will be
S=0
C=1


How to generate Golden Ratio by programming?

Golden ratio has been a fascinating topic for last more than 2400 years despite it does not have reliable evidence. Golden ratio is seen in the circle of Sunflower "flower". We can get golden ratio when we divide a line into two parts, the ratio of dividing the large part with small part is equal to the whole length divided by the longer part.

For a programmer it will be more fascinating to know how to code the golden ratio. The most easy way to do this is by using Fibonacci Series. We can use python code like this.




s = 0
a = 1
b = 1
for x in range(9999):
c = a + b
a = b
print (c/b)  #This is the golden ratio
b = c


Golden ratio occurs in nature in different forms. Some of the examples are:
1. Flower Petals
2. Seed Heads
3. Pine Cones
4. Shells
5. Spiral galaxies
6. Hurricanes
7. Fingers
8. Animal Bodies
9. DNA molecules

Thank you!
A blog by Saroj Bhattarai