Solved ITI 1120 Lab # 4 order of execution, more strings,for-loops, range function

$30.00

Original Work ?
Category: Tags: , You will Instantly receive a download link for .ZIP solution file upon Payment

Description

5/5 - (1 vote)

Task 1
In Python interpreter assign string ‘good’ to variable s1, ‘bad’ to variable
‘s2’ and ‘silly’to variable s3. Write Python expressions involving strings s1,
s2, and s3 that correspondto:
a) ‘ll’ appears ins3
b) the blank space does not appear in s1
c) the concatenation of s1, s2, ands3
d) the blank space appears in the concatenation of s1, s2, and s3
e) the concatenation of 10copies of s3
f) the total number of characters in the concatenation of s1, s2, and s3
Introduction to Computing Using Python by Lj. Perkovic
Indexing operator, revisited
‘p

‘p

‘l

‘e’
=’A

s =
s[0:2]
s[1:4] =
s[2:5] =
S[2:] =
s[:2]
3 4
>>> s = ‘Apple’
>>> s[0]
‘A’
>>> s[1]
‘p’
>>> s[4]
‘e’
‘ A p p l e ‘
0 1 2
-2
The indexing operator
returns the character
at index i (as a
single character
string).
-5 -4 -3
‘A p’
‘p p l’
‘p l e’
‘p l e’
s[-3:-1] = ‘p l’
= ‘A p’
s[i:j] :the slice of s starting atindex i and
ending before indexj
s[i:] : the slice of s starting at index i
s[:j] : the slice of s ending before index j
-1
>>> s = ‘Apple’
>>> s[0:2]
‘Ap’
>>> s[1:4]
‘ppl’
>>> s[2:5]
‘ple’
>>> s[2:]
‘ple’
>>> s[:2]
‘Ap’
>>> s[-3:-1]
‘pl’
çNote: There are no blank
spaces here, just appears so
for visibility purposes
Introduction to Computing Using Python by Lj. Perkovic
Task 2
Start python interpreter
1.In python interpreter, create aha variable and assign
‘abcdefgh’ to it.
2.Then write Python expressions (in the interpreter)
using string aha and the indexing operator that evaluate
to:
a) ‘abcd’
b) ‘def’
c) ‘h’
d) ‘fg’
e) ‘defgh’
f) ‘fgh’
g) ‘adg’
h) ‘be’
Usage Explanation
s.capitalize() returns a copy of swith first character
capitalized
s.count(target) returns the number of occurencesof
target in s
s.find(target) returns the index of thefirst
occurrence of targetin s
s.lower() returns lowercase copy ofs
s.replace(old, new) returns copy of s with every
occurrence of oldreplaced with new
s.split(sep) returns list of substrings ofs,
delimited by sep
s.strip() returns copy of s withoutleading and
trailing whitespace
s.upper() returns uppercase copy ofs
Introduction to Computing Usi
String methods
Strings are
immutable;
none of the
string methods
modify string s
Introduction to Computing Using Python by Lj. Perkovic
Task 3
Copy/paste the following expression (in black) to Python
Interpreter:
s = ”’It was the best of times, it was the worst of times;
it
it
was
was
the age of wisdom, it was the age of foolishness;
the epoch of belief, it was the epoch of incredulity;
it was …”’
(The beginning of A Tale of Two Cities by Charles Dickens.)
Then do the following, in order:
(a)Write a sequence of statements that produce a copy of s, named newS,
in which characters ., ,, ;, and \n have been replaced by blank spaces.
(b) Remove leading and trailing blank spaces in newS (and name the new
string newS).
(c) Make all the characters in newS lowercase (and name the new string
newS).
(d) Compute the number of occurrences in newS of string ‘it was’.
(e) Change every occurrence of was to is (and name the new string
newS).
Task 4
a) Follow the link in (b) and trace through the two Python Vizualizer examples thathave
“Code Lence 1” and “Code Lence 2” in the caption. You do that by clicking Forward
untilthe program ends, like we did it class (It does not matter here thatit says Python
2.7. For these two programs Python 2 and 3 behave thesame).
b) ThenAnswer the two multiple choice questions atthe end
https://runestone.academy/ns/books/published/py4e-int/functions/fruitfulvoid.html
c)Then follow this link and do the two multiple choiceexercises:
https://runestone.academy/ns/books/published/py4e-int/functions/flowofexecution.html
9
Task 5: Moretracing and print vs return
10
Open the program called print-vs-return-and-function-calls.py, provided in
this lab.
The lines the start with # are commented out. Thus Python will ignore them.
In other words, if you press Run Module the lines that start with # will not be
executed. Uncomment the lines as instructed in the file. Each time you do,
save and press “Run Module”. But before you press “Run Module”, write
down what you think the program will print. Then press “Run Module” and
compare.
Note: once you uncomment a line as instructed, leave it as is (do not put
back the comments, but rather continue with the next set of lines you are
instructed to uncomment).
Programming exercise: SolvedProblem
Suppose that you are given the following two problems to solve.
Read the two problems.Think about how you would solve them,
and then open and study the two provided solutions in
prog_solved_v1.py and prog_solved_v2.py. Runboth.
Version 1: Write a program that asks a userfor her name and age
and prints a nice message stating ifthe useris eligible to vote.
Version 2: Write a program that asks a user for name and age and
prints a nice message stating ifthe useris eligible to vote.As a part
of your solution the program should have a function called
is_eligible that given the age as input parameter returns true or
false depending on weatherthe age is less than 18 or not.
11
Programming exercise1
Repeatthe exercise in the previous question (version 2), where in addition you need to ask the
user fortheir citizenship and ifthey are currently in prison convicted for a criminal offence.
Your program should print a nice message telling the user if they are eligible to vote (i.e. if they
are 18+, Canadian and do not live in prison convicted for a criminal offence,then they can vote.
Otherwise not). You should modify function is_eligible so it takes to additional paramters as
input. In particular the head of the function should be: is_eligible(age, citizenship,prison)
Your program should work ifthe user enters any of the following versions of answers forthe
two new questions:
Canadian
Canada
Canada
canadian
Yes
YES
No
no
and so on
Note thatin Canada, one can vote even ifin prison convicted for a criminal offence. This example if
fictional.
12
Programming exercise2
Write a function called mess thattakes a phrase (i.e., a string) as input and then
returns the copy of that phrase where each characterthatis one of the last 8
consonants of English alphabet iscapitalized (so, r, s, t, v, w, x,y , z) and where
each blank space is replaced bydash.
For this question, use a for loop over characters of a string, and “accumulator”.
(We will see, or have seen, that in Lecture 8 on Monday). When called from the
python shell, your function should behave as follows:
>>> mess(‘Random access memory ‘)
‘Random-acceSS-memoRY–‘
>>> mess(‘central processing
‘cenTRal-pRoceSSing—uniT.’
unit.’)
13
Introduction to Computing Usi
Built-in function range()
Function range() is used to iterate over a sequence of
numbers in a specified range
• This iterates over the n numbers 0, 1, 2, …, n-1
for i in range(n):
• This iterates over the n numbers k, k+1, k+2, …, n-1
for i in range(k, n):
• This iterates over the n numbers k, k+c, k+2c, k+3c, …, n-1
for i in range(k, n, c):
In particular the first time a program encounters a forloop it creates the variable whose name follows the
keyword for. In the above examples, the variable name is
i.Then that variable, i in this case, takes values in
the given range one by one. Each time it takes the next
value it enters the for-loop and executes its body. The
for-loop terminates after i has taken on all the values
in the range, as shown above)
>>> for i in range(2, 3):
print(i)
2
>>>
>>> for i in range(2, 2):
print(i)
>>>
Introduction to Computing Usi
Examples of for loops withrange()
>>> for i in range(4):
print(i)
0
1
2
3
>>>
>>> for i in range(0):
print(i)
>>>
>>> for i in range(1):
print(i)
0
>>>
>>> for i in range(2, 6):
print(i)
2
3
4
5
>>>
>>> for i in range(0, 16, 4):
print(i)
0
4
8
12
>>>
>>> for i in range(2, 16, 10):
print(i)
2
12
>>>
Python Visualizer
16
Go to Python Visualizer here (make sure you choose Python 3)
http://www.pythontutor.com/visualize.html#mode=edit
and copy/paste, only by one,the following loops to it and click Forward to visualize
the execution. Pay attention what is assigned to variable i and when does loop
terminate.
for i in range(3):
print(i)
for i in range(2,4):
print(i)
for i in range(2,2):
print(i)
for i in range(1,10, 3):
print(i)
Introduction to Computing Usi
Task 6
Before attempting the following exercise study the examples from
the previous slide.
Then open a new file in IDLE and write a program with 6 separate
for loops that will print the 6 sequences listed below in parts a)
to f). (you do not have to print commas, but you can if you know
how to).
Note that if you put ,end=” ” at the end of a print function call,
then the print function will print the blank space when it finishes
rather than go to the new line.
Eg: this prints numbers 0 to 9 in one line
>>> for i in range(10):
print(i,end=” “)
0 1 2 3 4 5 6 7 8 9 >>>
a)0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, 10
b)1, 2, 3, 4, 5, 6, 7, 8, 9
c)0, 2, 4, 6, 8
d)1, 3, 5, 7, 9
e)20, 30, 40, 50, 60
f)10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Programming exercise3:
Open the file ex23n8.py. Inside of thatfile:
1. write a function called print_all_23n8(num), that takes as input a non-negative
integer num and prints allthe the non-negative numbers smaller than num that
are divisible by 2 or 3 but not 8. You should use the function that is already
present in the file (and that you developed forthe lastlab)
2. Outside of that function ask the user for a non-negative integer. Your program
should then print all non-negative numbers that are divisible by 2 or 3 but not 8,
by making a call to functionprint_all_23n8
3. Run your program and test it by entering, for example, 1000 when promptedfor
a number
18
Programming exercise4:
This program:
for i in range(4):
print(“*************”
)
Prints :
*************
*************
*************
*************
Write a program that asks a user for a positive integer and a character. And then draws half piramid with
the given number of raws using that character. For example if the user enter 3 and $, your program should
draw (that is,print):
$
$$
$$$
Bonus excercise:
For a callenge, draw a real pirmaid like the one to the right
that should be displayed ifthe user entered 10 and #
#
###
#####
#######
#########
###########
#############
###############
###############1
#9
#
###################
Programming exercise5:
1. Write a program that asks a user for a positive integer and then prints allthe
divisors of the given integer. For example if the user entered 6, the program
should print: 1, 2, 3,6
2. Add a function, called prime, to this program. Function prime takes a positive
integer as input parameter and tests if it is a prime (that is, it returns true if the
given number is a prime and false otherwise). Recall that a number is prime if it
atleast 2 and ifitis only divisible by 1 and itself. Then make a callto this function
and print the message stating ifthe number the user inputted in 1) is a prime.
3. Copy/paste your whole solution into Python Visualizer, click throughwith
Forward to understand see howit runs
4. Bonus exercise: Write a program that asks a user for a positive integer, n,and
prints all the primes smaller thann.
20
Making a table
With these tools, you now can make a program that prints
nice tables. Seehere:
https://runestone.academy/ns/books/published//thinkcspy/MoreAboutIteration
/SimpleTables.html