0% found this document useful (0 votes)
36 views

Error: If-Else

The document discusses various Python programming concepts including data types like strings, lists, tuples and dictionaries; control flow structures like if/else statements and loops; functions; and exceptions. It provides examples of how to define, access, modify, and iterate over different data types in Python code. The document also covers converting between types and passing references in functions.

Uploaded by

pappu khan
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Error: If-Else

The document discusses various Python programming concepts including data types like strings, lists, tuples and dictionaries; control flow structures like if/else statements and loops; functions; and exceptions. It provides examples of how to define, access, modify, and iterate over different data types in Python code. The document also covers converting between types and passing references in functions.

Uploaded by

pappu khan
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 8

Python

myname = input() // always string


print('It is good to meet you, ' + myName)

str() // convert into string


int() // convert into intiger
float() // convert into float

int('99.99') or int('twelve') // will give error

str(int(myAge) // correct

>>> 42 == '42'
False
>>> 42 == 42.0
True
>>> 42.0 == 0042.000
True

Python makes this distinction because strings are text, while integers and
floats are both numbers.

if password == 'swordfish': // if-else


print('Access granted.')
else:
print('Wrong password.')

if name == 'Alice':
print('Hi, Alice.')
elif age < 12:
print('You are not Alice, kiddo.')

spam = 0
while spam < 5: // while loop
print('Hello, world.')
spam = spam + 1

name = ''
while name != 'your name':
print('Please type your name.')
name = input()
print('Thank you!')

print('My name is')


for i in range(5): // for loop from i = 0 to 4
print('Jimmy Five Times (' + str(i) + ')')
for i in range(12, 16): // for lopp from i = 12 to 15
print(i)

import random // import


for i in range(5):
print(random.randint(1, 10))

Since randint() is in the random module, you must first type random.

import random, sys, os, math //imports four different modules

import sys
while True:
print('Type exit to exit.')
response = input()
if response == 'exit':
sys.exit()
print('You typed ' + response + '.')

def hello(): // define function in python


print('Howdy!')
print('Howdy!!!')
print('Hello there.')

print('Hello', end='') // end=’’ will skip newline


print('World')
the output would look like this:
HelloWorld

def spam():
print(eggs) # ERROR!
eggs = 'spam local'
eggs = 'global'
spam()

This error happens because Python sees that there is an assignment


statement for eggs in the spam() function u and therefore considers eggs to
be local. But because print(eggs) is executed before eggs is assigned any-
thing, the local variable eggs doesn’t exist. Python will not fall back to using
the global eggs variable.

def spam(divideBy): // Exception handling Divide by Zero


return 42 / divideBy
print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))

def spam(divideBy):
try:
return 42 / divideBy
except ZeroDivisionError:
print('Error: Invalid argument.')

spam = ['cat', 'bat', 'rat', 'elephant'] // list ( array )


>>> spam
['cat', 'bat', 'rat', 'elephant']

spam = [['cat', 'bat'], [10, 20, 30, 40, 50]] // lists of lists
>>> spam[0]
['cat', 'bat']
>>> spam[0][1]
'bat'
>>> spam[1][4]
50

indexes start at 0 and go up. integer value -1 refers to the last index in a list, the value -2
refers to the second-to-last index in a list, and so on.

spam = ['cat', 'bat', 'rat', 'elephant']


>>> spam[-1] // negative index
'elephant'
>>> spam[-3]
'bat'

spam = ['cat', 'bat', 'rat', 'elephant'] // Sublists with Slices


>>> spam[0:4]
['cat', 'bat', 'rat', 'elephant']
>>> spam[1:3]
['bat', 'rat']
>>> spam[0:-1] // note here
['cat', 'bat', 'rat']

>>> spam = ['cat', 'bat', 'rat', 'elephant'] // in shortcut sublist with slices.
>>> spam[:2]
['cat', 'bat']
>>> spam[1:]
['bat', 'rat', 'elephant']
>>> spam[:]
['cat', 'bat', 'rat', 'elephant']

>>> [1, 2, 3] + ['A', 'B', 'C'] // list concatenation


[1, 2, 3, 'A', 'B', 'C']
>>> ['X', 'Y', 'Z'] * 3
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
>>> spam = [1, 2, 3]
>>> spam = spam + ['A', 'B', 'C']
>>> spam
[1, 2, 3, 'A', 'B', 'C']

catNames = [] // list( array ) input of string


while True:
print('Enter the name of cat ' + str(len(catNames) + 1) +
' (Or enter nothing to stop.):')
name = input()
if name == '':
break
catNames = catNames + [name] # list concatenation
print('The cat names are:')
for name in catNames:
print(' ' + name)

When you run this program, the output will look something like this: // output
Enter the name of cat 1 (Or enter nothing to stop.):
Zophie

A common Python technique is to use range(len(someList)) with a for loop to iterate over the
indexes of a list. For example, enter the following into the interactive shell:

>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']


>>> for i in range(len(supplies)):
print('Index ' + str(i) + ' in supplies is: ' + supplies[i])

Index 0 in supplies is: pens // and so on

# determine whether a value is or isn’t in a list with the in and not in operators.

>>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas']


True
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> 'cat' in spam
False
>>> 'howdy' not in spam
False

>>>cat = ['fat', 'black', 'loud'] // multiple Assignment Task


>>>size = cat[0]
>>>color = cat[1]
>>>disposition = cat[2]

you could type this line of code:

>>> cat = ['fat', 'black', 'loud']


>>> size, color, disposition = cat

>>> spam = 42 // Augmented Assignment Operators


>>> spam = spam + 1
>>> spam
43
**Each data type has its own set of methods.
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> spam.index('hello')
0
>>> spam.index('heyas')
3
>>> spam.index('howdy howdy howdy') // error if value not present in the list
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
spam.index('howdy howdy howdy')
ValueError: 'howdy howdy howdy' is not in list

>>> spam = ['Zophie', 'Pooka', 'Fat-tail', 'Pooka'] // 1st index for duplicate value is returned
>>> spam.index('Pooka')
1

>>> spam = ['cat', 'dog', 'bat'] // adding value to the list


>>> spam.append('moose')

>>> spam = ['cat', 'dog', 'bat'] // insert at ny index


>>> spam.insert(1, 'chicken')
>>> spam
['cat', 'chicken', 'dog', 'bat']

** The append() and insert() - methods are list methods and can be called only on list values, not on
other values such as strings or integers.

>>> eggs = 'hello'


>>> eggs.append('world') # error append() is only for list

>>> bacon = 42
>>> bacon.insert(1, 'world') # error insert() is oy for list

>>> spam = ['cat', 'bat', 'rat', 'elephant'] // removing value from list
>>> spam.remove('bat')
>>> spam
['cat', 'rat', 'elephant']

>>> spam = [2, 5, 3.14, 1, -7] // sorting value in the list


>>> spam.sort()
>>> spam
[-7, 1, 2, 3.14, 5]
>>> spam = ['ants', 'cats', 'dogs', 'badgers', 'elephants']
>>> spam.sort()
>>> spam
['ants', 'badgers', 'cats', 'dogs', 'elephants']

>>> spam.sort(reverse=True) // sorting in reverse order


>>> spam
['elephants', 'dogs', 'cats', 'badgers', 'ants']
**sort() method sorts the list in place.
Second, you cannot sort lists that have both number values and string values in them, since Python
doesn’t know how to compare these values.

>>> spam = [1, 3, 2, 4, 'Alice', 'Bob']


>>> spam.sort() // error

**sort() uses “ASCIIbetical order” rather than actual alphabetical order for sorting string

>>> spam = ['Alice', 'ants', 'Bob', 'badgers', 'Carol', 'cats']


>>> spam.sort()
>>> spam
['Alice', 'Bob', 'Carol', 'ants', 'badgers', 'cats']

If you need to sort the values in regular alphabetical order, pass str.
lower for the key keyword argument in the sort() method call.
>>> spam = ['a', 'z', 'A', 'Z']
>>> spam.sort(key=str.lower)
>>> spam
['a', 'A', 'z', 'Z']

Python knows that until it sees the ending square bracket, the list is not finished.
you can have code that looks like this:
>>>spam = ['apples', //
'oranges',
'bananas',
'cats']
>>>print(spam)

**You can also split up a single instruction across multiple lines using the \ line continuation
character at the end.

print('Four score and seven ' + \


'years ago...')

List-like Types: String and Tuples

>>> name = 'Zophie'


>>> name[0]
'Z'
>>> name[-2]
'i'
>>> name[0:4]
'Zoph'
>>> 'Zo' in name
True
>>> 'z' in name
False
>>> 'p' not in name
False
>>> for i in name:
print('* * * ' + i + ' * * *')
***Z***

**list value is a mutable data type: It can have values added, removed, or changed. However, a
string is immutable: It cannot be changed.

>>> name = 'Zophie a cat'


>>> newName = name[0:7] + 'the' + name[8:12] // name will not chane : immutable
>>> name
'Zophie a cat'

>>eggs = [1, 2, 3] // list : mutable


>>>del eggs[2]
>>>del eggs[1]
>>>del eggs[0]
>>>eggs.append(4)
>>>eggs.append(5)
>>>eggs.append(6)
>>>eggs
[4, 5, 6]

***Touple data type

tuples are typed with parentheses, ( and )

>>> eggs = ('hello', 42, 0.5)


>>> eggs[0]
'hello'
>>> eggs[1:3]
(42, 0.5)
>>> len(eggs)
3

*like strings, are immutable. Tuples cannot have their values modified, appended, or removed.

>>> eggs = ('hello', 42, 0.5)


>>> eggs[1] = 99 // error because immutable

The comma is what lets Python know this is a tuple value. (Unlike some other programming
languages, in Python it’s fine to have a trailing comma after the last item in a list or tuple.)

>>> type(('hello',))
<class 'tuple'>
>>> type(('hello'))
<class 'str'>

**Converting Types with the list() and tuple() Functions


>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
**Converting a tuple to a list is handy if you need a mutable version of a
tuple value.

**Passing References
def eggs(someParameter):
someParameter.append('Hello')
spam = [1, 2, 3]
eggs(spam)
print(spam)

[1, 2, 3, 'Hello']

Dictionary data type

indexes for dictionaries can use many different data types, not just integers. Indexes for dictionaries
are called keys, and a key with its associ- ated value is called a key-value pair.
dictionary is typed with braces, {} .

>>> myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}

Dictionaries vs. Lists


Unlike lists, items in dictionaries are unordered. The first item in a list named spam would be
spam[0] . But there is no “first” item in a dictionary.

You might also like