一、Variables and Data Types
1.1Assign the value 5 to a, and value 6 to b. Assign the value of a + b to variable c
a =5
b =6
c =a+b
print(a)
print(b)
print(c)
1.2[MCQ] Which of the following will produce the right result?
2 + 5 produces '25'
'2' + 5 produces '25'
'2' + '5' produces '25' *
2 + '5' produces '25'
1.3Floating point number is represented with a dot(.) followed by one or more decimals (can be zero).
#Compute the area and perimeter of a circle with radius = 3
pi = 3.14
area =pi*3*3
perimeter =2*pi*3
1.4Numbers that contains decimal point are called floating point numbers. The type(x) function will return if the argument x is a float. You can use the float(x) and int(x) function to convert values between float and integer.
# Change the type of the variable x to float
# Change the type of variable y to integer
x = 123446754336788543835697
y = 3.14159265358979323846
x =float(x)
y =int(y)
1.5Declare a string literal by enclosing the literal using single, double or triple quotes. Triple quote allows the literal to span multiple lines.
# Assign foobar which gives the output shown in the last example.
# Hint: Use the triple quote as the outermost quote
foobar = """"No, thanks, Mom," I said, "I don't know how long it will take.""" + '"'
1.6Certain mathematical operations such as addition and multiplication can be used on the String datatype.
# Assign 'HelloWorld!' to variable a
a ='HelloWorld!'
# b contains 'HelloWorld!HelloWorld!HelloWorld!HelloWorld!HelloWorld!'
b = a+a+a+a+a
1.7You can make use of the len(x) function to find out the number of characters in a string.
greeting = "Hello Google!"
# number of characters stored in the variable greeting
number_of_char = len(greeting)
# repeat the greetings based on the number of character in 'greeting'
greetings =number_of_char *greeting
1.8Adding two strings or making multiple copies of the same string.
# Write a function, given a string of characters, return the string together with '_'s of the same length.
def underline(title):
i=len(title)
title=title+'\n'+"_"*i
return(title)
1.9Introducing some string methods.
Examples
>>> greetings = "Hello World"
>>> greetings.lower() # convert to lower case
'hello world'
>>> greetings.find('o') # return first occurence of character or substring
4
>>> greetings.replace('World', 'Everyone')
'Hello Everyone'
>>> spam = ' This sentence has leading and trailing spaces. \n'
>>> spam
' This sentence has leading and trailing spaces. \n'
>>> spam.strip()
'This sentence has leading and trailing spaces.'
# Use one or more string methods in above examples, extract the substring
# surrounded by 'xyz' at the beginning and end. Replace the ',' in the substring with '|'.
# and remove all trailing space.
str1 = 'abcefghxyzThis,is,the,target,string xyzlkdjf'
idx1 = str1.find( 'xyz' ) # get the position of 'xyz'
idx2 = str1.find('xyz', idx1+1) # get the next 'xyz'
str1 = str1[idx1+3:idx2].replace( ',','|' ) # replace ',' with '|'
str1 = str1.strip() # strip trailing spaces.
1.10Like other programming languages, Python also has some basic types like numbers, strings, lists and dictionaries.
# Assign arbitrary values to the variables such that they are of the types used in the examples
a ='string'
b =2
c =2.33
d =[1,2, 3]
——————————————————————————
>>> type(a)
<type 'str'>
>>> type(b)
<type 'int'>
>>> type(c)
<type 'float'>
>>> type(d)
<type 'list'>
1.11There are some rules in the naming of variables.
Question:
[MCQ] Which of the following are not valid variable names in Python?
a: _hello
b: $hello
c: hello
d: hello world
a and b
a only
d only
a and c
b and d *
1.12A integer or floating-point number with trailing 'j' or 'J' is a complex number.
# Compute the sum and product of 2 complex numbers:
# (2+3j) and (4+5j)
a = 2+3j
b = 4+5j
sum_ab =a+b
prod_ab = a*b
————————————————————————-
>>> a = 1 + 1j
>>> type(a)
<type 'complex'>
1.13Format string output by using the '%' operator
# Write a function that does a decimal to hexadecimal conversion.
# Hint: Make use of "%x" for hexadecimal format.
def dec2hex(num):
gap = "0x0" + "%x" % num
if len(gap) > 4:
sol = "0x" + "%x" % num
return sol
else:
return gap
——————————————————————————————————-
>>> 1.0/3
0.33333333333333331
>>> print "%.2f" % (1.0/3) # Convert to floating point with 2 decimal places
0.33
>>> name = "John"
>>> age = 27
>>> print "My name is %s. I am %d years old." % (name, age)
My name is John. I am 27 years old.
>>> print "%03d" % 5 # zero padded if output is less than 3 digits.
005
>>> dec2hex(11)
'0x0b'
1.14Accessing string elements.
A string is a sequence of characters. Each character can be retrieved using an integer index, starting from zero. To access a substring use s[i:j], which returns a substring from index i to index (j-1).
# Extract each word from 'greetings' and assign to
# variables 'first', 'middle' and 'last'.
greetings = "How are you"
first = greetings[0:3]
middle = greetings[4:7]
last = greetings[8:11]
——————————————————————————————————
>>> greetings = "Hello world"
>>> len(greetings) # get the length of string
11
>>> greetings[0] # get the 1st character
'H'
>>> greetings[0:2] # get first two character
'He'
1.15Octal and hexadecimal integer.
The default literal representation is in decimal format. To represent a octal or hexadecimal literal, precede the value with '0' and '0x' respectively.
a = 25
b = 0o31
c = 0x19
——————————————————
>>> # Assign the value of 25 using decimal, octal and hexadecimal to a, b, and c respectively.
>>> a
25
>>> b
25
>>> c
25
1.16