python:dierbach:chapter_1_python_first_steps
This is an old revision of the document!
Table of Contents
Python first steps
Mithat Konar
from Dierbach's “Introduction to Computer Science using Python”
The Python language
- Syntax is easy to read.
- Interpreted and can be executed interactively.
- Huge community.
- Lots of support.
- Lots of open source modules.
IDLE
- IDLE is Python's 'standard' IDE.
- Good for starting to learn Python.
- Many other IDEs.
IDLE in interactive mode
- Often called REPL (read-evaluate-print-loop) mode.
>>>
is the shell prompt
>>> 4 + 6 10 >>> 3 * 7 21
Basic math
+
,-
,*
,/
**
is exponentiation- Note the use of parenthesis.
>>> 4 + 6 10 >>> 3 * 7 21 >>> 5 / 2 2.5 >>> 2 * (7 + 3) 20 >>> 2 ** 3 8
The standard library and import
- Python's core is limited.
- Add functionality by
import
ing *modules*. - Lots of modules in the standard library.
>>> import math >>> 4 * math.pi 12.566370614359172 >>> math.factorial(4) 24
Variables
- variable: a name associated with a value.
>>> r = 5 >>> 2 * r 10
- Variables can store character string values as well.
>>> city = 'Jakarata'
Basic input and output
- Use
print()
to generate output.
>>> print('Hello, there.') Hello there. >>> n = 5 >>> print(n) 5
- Use
input()
to get input.
>>> name = input('What do I call you? ') What do I call you? Brian >>> print('Hi,', name) Hi, Brian
Using IDLE to develop a program
- Create a new program file with File > New File or Ctrl+N on Linux and Windows.
- Write code:
name = input('What do I call you? ') print('Hi,', name) print('Eat more vegetables.')
- Save the file: File > Save (Ctrl+S) or File > Save As … (Ctrl+Shift+S)
- File extension
.py
will be added automatically.
- Run: Run > Run Module (F5)
Comments
- Comments let you write notes to yourself or the reader of your code.
- Anything after a
#
will be ignored by the interpreter.
# This is my first Python program. name = input('What do I call you? ') # get user's name print('Hi,', name) # print name entered by user print('Eat more vegetables.')
More about strings
- The
+
operator can be used to concatenate (put together) two string values.
>>> name = 'Carol ' + 'Cleveland' >>> print(name) Carol Cleveland
Converting values
- Convert a number to a string with
str()
.
>>> x = 99 >>> message = 'Number of red balloons: ' + str(x) >>> print(message) Number of red balloons: 99
- Convert a string to an integer with
int()
.
>>> x = '99' >>> x + 1 # error because x is not a number but 1 is. >>> int(x) + 1 100
More about input()
input()
in Python 3 will always return a string.- If you expect a number, convert it:
num_balloons = input('How many balloons? ') num_balloons_converted = int(num_balloons) + 1
- Combining getting input and converting:
num_balloons = int(input('How many balloons? '))
A slightly more substantial program
- Define the problem.
- Design a solution.
- Code the solution.
- Test the solution.
- Document the solution.
Define the problem
I need an exponent calculator.
Solution: Write a program that allows the user to enter any integer base and integer exponent, and displays the value of the base raised to that exponent.
Observations: The user will enter the values from the keyboard. It would be good if the user got feedback when the result is printed. I will use Python because it will be easy to implement the solution with it.
Proposed interaction:
What base? 10 What power of 10? 4 10 to the power of 4 is 10000
Design a solution
- Get the base from the user.
- Get the exponent from the user.
- Calculate base to the exponent power.
- Print “base to the power of exponent is result”
Code the solution
- exponent_calculator.py
# Exponent Calculator # Calculate a base to an exponent's power. # Mithat Konar base = input('Enter the base: ') exponent = input('Enter the exponent: ') result = base ** exponent print(base + ' to the power of ' + exponent + ' is ' + result)
Test the solution
Enter the base: 10 Enter the exponent: 4 Traceback (most recent call last): File "/home/mithat/exponent_calculator.py", line 7, in <module> result = base ** exponent TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'str'
Oops. Back to step 3.
Code the solution (again)
- exponent_calculator.py
# Exponent Calculator # Calculate a base to an exponent's power. # Mithat Konar base = int(input('Enter the base: ')) exponent = int(input('Enter the exponent: ')) result = base ** exponent print(base + ' to the power of ' + exponent + ' is ' + result)
Test the solution
Enter the base: 10 Enter the exponent: 4 Traceback (most recent call last): File "/home/mithat/exponent_calculator.py", line 8, in <module> print(base + ' to the ' + exponent + 'power is ' + result) TypeError: unsupported operand type(s) for +: 'int' and 'str'
Oops (again).
Code the solution (last time)
- exponent_calculator.py
# Exponent Calculator # Calculate a base to an exponent's power. # Mithat Konar base = int(input('Enter the base: ')) exponent = int(input('Enter the exponent: ')) result = base ** exponent print(str(base) + ' to the power of ' + str(exponent) + ' is ' + str(result))
Test the solution
Enter the base: 10 Enter the exponent: 4 10 to the power of 4 is 10000
Success.
Document the solution
- In this case, we began documenting the program right from the start:
- Writing out details of the problem.
- Writing out the design of the solution.
- Using comments in the source code.
- Do this.
- Every. Single. Time.
python/dierbach/chapter_1_python_first_steps.1469510546.txt.gz · Last modified: 2016/07/26 05:22 by mithat