Conditional Programming In Python

by HSG on Oct 30, 2012 in Python Tutorial

Applications are becoming more and more sophisticated as languages such as Python open the doors to the world of programming for people who have the creative vision but always felt actually writing code was beyond their grasp.

A large part of any programs success is based on how well it can react to the events which it has been programmed to understand and listen for.

A good example of an event would be when the user clicks a button on the applications window. What happens when that button is clicked?

Well, the first thing that happens is the operating system sends out a message to let any listening software know that the button was clicked. Next, your application needs to do something in response to that event.

But what should it do?

Well, that is down to you. As your skills grow you will realize that your software needs to be able to make decisions on its own.

Just like the button click scenario, if your application hasn’t been programmed to perform a specific action then it won’t. It is down to you, the programmer, to give the application a specific set of instructions which should be followed if a button is clicked.

Take a look at the following code and then I will explain what it all means:

buttonClick = “yes”
 if buttonClick == “yes”:
 print “The button was clicked”
 else:
 print “The button was not clicked”

The above code introduces the if-else conditional statements. I will explain what the code its self does first before going into more detail about the statements.

 

On line one we create a variable called buttonClick and assign it the value of “yes”.

Then starting on line two we enter an if-else conditional block which essentially checks if our buttonClick variable holds the string “yes”, and if it does it will print out the string on line 3.

In this particular case it is obvious that our variable does hold the correct value so after our success message has been printed to the screen the program will skip the remaining else statement.

If we changed the value of our variable to ‘no’ then the else statement would be executed and our failure message would be displayed.

If you try out the above code you will begin to understand just how import conditional constructs, such as the if-else clause, can be incredibly useful for checking if some event, or in the case of our code, if a variable holds a particular value.

Realistically you can’t create a good piece of software, not even something as simple as a calculator, without the use of conditional statements. They arm you with a means to give your code a way to react and respond in a more sophisticated and intelligent way.

When we take a look at loops in a future tutorial you will learn how you can use these statements to check multiple values for the correct one before the application will continue executing the rest of the code.

other blog entries

The Money of the Gaming Industry
Java is #1
Seattle WA C#, C, C++, Java, Perl and Python Training
Blaze Advisor Consulting / Consultants
What are the best languages for getting into functional programming?
What are the different versions of linux, and how do they compare?
What Are The Responsibilities Of an IT Project Manager vs. an IT Manager?
The importance of exercise for IT professionals
Reminders
San Francisco, CA C#, C, C++, Java, Perl and Python Training

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.

did you know? HSG is one of the foremost training companies in the United States

Information Technology Training that enables companies to build better applications and expertly manage the software development process.

Our courses focus on two areas: the most current and critical object-oriented and component based tools, technologies and languages; and the fundamentals of effective development methodology. Our programs are designed to deliver technology essentials while improving development staff productivity.

Personalized courses for unique business and technology needs

An experienced trainer and faculty member will identify the client's individual training requirements, then adapt and tailor the course appropriately. Our custom training solutions reduce time, risk and cost while keeping development teams motivated. The Hartmann Software Group's faculty consists of veteran software engineers, some of whom currently teach at several Colorado Universities. Our faculty's wealth of knowledge combined with their continued real world consulting experience enables us to produce more effective training programs to ensure our clients receive the highest quality and most relevant instruction available. Instruction is available at client locations or at various training facilities located in the metropolitan Denver area.

Upcoming Classes

consulting services we do what we know ... write software

Design and Development
Application lifecycle management
We generate use cases, UML documentation, architect the system, create an object model, iteratively develop the system, unit and system test and modularize where necessary. These types of engagements are typically longterm and, almost always, incorporate a variety of software technologies.
If you are in need of expertise but only require the assistance of one or two engineers, the Hartmann Software Group can be of help. Instead of procuring talent by way of a placement agency who is likely to contact us, come to the Hartmann Software Group directly. You may realize some savings.
Mentor
The best way to learn is by doing.

The coaching program integrates our course instruction with hands on software development practices. By employing XP (Extreme Programming) techniques, we teach students as follows:

Configure and integrate the needed development tools

MOntitor each students progress and offer feedback, perspective and alternatives when needed.

Establish an Action plan to yield a set of deliverables in order to guarantee productive learning.

Establish an Commit to a deliverable time line.

Hold each student accountable to a standard that is comparable to that of an engineer/project manager with at least one year's experience in the field.

These coaching cycles typically last 2-4 weeks in duration.

Provide Expertise
Services for your business growth.
With the introduction of smart devices, e-marketplaces, electronic forms, SEO practices, big data, virtual office environments, media streaming and so much more, there is hardly a business whose livelihood is not, in some way, dependent upon the inclusion of such software functionality into its online presence, work environment and product offerings. Such inclusion often presents a complex array of challenges that are far beyond the expertise of the business as it demands an understanding of technological options, modular decomposition, backend systems integration and web services. Most importantly, the business requires IT talent and expertise; this is where the Hartmann Software Group shines. To that end, here is an overview of some of the services that we offer:

Business Rule isolation and integration for large scale systems using Blaze Advisor

Develop Java, .NET, Perl, Python, TCL and C++ related technologies for Web, Telephony, Transactional i.e. financial and a variety of other considerations.

Windows and Unix/Linux System Administration.

Application Server Administration, in particular, Weblogic, Oracle and JBoss.

Desperate application communication by way of Web Services (SOAP & Restful), RMI, EJBs, Sockets, HTTP, FTP and a number of other protocols.

Graphics Rich application development work i.e. fat clients and/or Web Clients to include graphic design

Performance improvement through code rewrites, code interpreter enhancements, inline and native code compilations and system alterations.

Mentoring of IT and Business Teams for quick and guaranteed expertise transfer.

Architect both small and large software development systems to include: Data Dictionaries, UML Diagrams, Software & Systems Selections and more