• No results found



Academic year: 2021



Full text


CS177 MIDTERM 2 PRACTICE EXAM SOLUTION Name: _______________________ Student ID: ___________________ This practice exam is due the day of the midterm 2 exam. The solutions will be posted the day  before the exam but we encourage you to look at the solutions only after you have tried to solve  the exam first.

Problem Max Current

1. 10 2. 10 3. 10 4. 10 5. 10 6. 10 7. 10 8. 10 9. 10 10. 10 Total:  


  1. Given the initial statements: s1 = “spam” s2 = “ni!”      Show a python expression that could construct each of the following results by  performing string operations on s1 and s2.  (a)  “NI!”    s2.upper() (b) “ni!spamni!”     s2+s1+s2 (c)   “Spam  Ni!  Spam Ni!  Spam Ni!”    s3= s1[0].upper()+s1[1:]    s4 = s2[0].upper()+s2[1:]    (s3+” “+s4)*3 (d) “spam” s1 (e) [“sp”, “m”] [s1[0:2],s1[­1]] (f) “spm” s1[0:2]+s1[­1]   2.  


The following is a (silly) decision structure:  a,b,c = eval(input(‘Enter three numbers: ‘)) if a > b: if b > c: print(“Spam Please!”) else: print(“It’s a late parrot!”) elif b > c: print(“Cheese Shoppe”) if a >= c: print(“Cheddar”) elif a < b: print(“Gouda”) elif c == b: print(“Swiss”) else print(Trees”) if a == b: print(“Chestnut”) else: print(“Larch”) print(“Done”) Show the output that would result from each of the following possible inputs: (a) 3,4,5 Trees Larch Done (b) 3,3,3 Trees Chestnut Done (c) 5,4,3 Spam Please! Done (d) 3,5,2 Cheese Shoppe Cheddar Done 


3. Write a while loop fragment that calculates the following values: (a) Sum of the first n counting numbers: 1 + 2 + 3 + 4 + …+ n sum = 0 i = 0 while i < n: sum = sum + i i = i + 1 (b) Sum of the first n odd numbers: 1 + 3 + 5 + ….+ 2n+1 sum = 0 i = 0 while i < n: sum = sum + i* 2 + 1 i = i + 1  


4. Given the initial statements    s1 = [2,1,4,3] s2 = [‘c’,’a’,’b’]        show the result of evaluating each of the following sequence expressions: (a) s1 + s2 [2,1,4,3,‘c’,’a’,’b’] (b) 3 * s1 + 2 * s2 [2,1,4,3,2,1,4,3,2,1,3,4,‘c’,’a’,’b’ ,‘c’,’a’,’b’ ] (c) s1[1] 1 (d) s1[1:3] [1,4] (e) s1 + s2[­1] Error ( int + string) (f) s1.sort() [1,2,3,4]  


5. Answer the following short questions about classes, objects, and methods: a) What Python reserved word starts a class definition? class       b)  In a method in a class, what is always the name of the first parameter? self c) Within a method definition the instance variable “x” could be accessed via which  expression? self.x d) The term applied to hiding details inside class definitions is called? Encapsulation 


6. A certain CS professor gives 100 point exams that are graded on the scale  90­100:A, 80­89:B, 70­79:C, 60­69:D, <60:F. Write a program that accepts an exam  score as input and prints out the corresponding grade. Example input/output: Exam Score: 86 Grade: B def main():     n = eval(input("Exam Score:"))     g = ""     if n >= 90:         g = "A"     elif n >= 80:         g = "B"     elif n >= 70:         g = "C"     elif n >= 60:         g = "D"     else:         g = "F"     print("Grade:",g) main()


7. Write a program that reads a sentence entered by the user, and then it prints the number of  words, and the average word length in the sentence. Example Input/Output: Sentence: Purdue University is in West Lafayette Indiana Number of Words: 7 Average Length: 5.71 # words.py def main():     s = input("Sentence:")     words = s.split(" ")     print("words=",words)     sum = 0     for w in words:         sum = sum + len(w)     print("Number of Words:",len(words))     print("Average Length:", sum/len(words)) main()  


8. A positive number n > 2 is prime if no number between 2 and n­1 evenly divides n. Write a  program that accepts a value of n as input and determines if the value is a prime. If n is not  prime, your program should quit as soon as it finds a value that evenly divides n. Example input/output: n? 17 17 is prime n? 18 18 is not prime def main():     n = eval(input("n?"))     p = True     for i in range(2,n­1):         if n % i == 0:       p = False       break     if p:         print(n, "is prime")     else:         print(n, "is not prime") main()  


9.Write a class to represent a cube. Your class should implement the following methods: __init__(self, side) Creates a cube with a given “side” length. getSide(self) Returns the “side” length of a cube. getSurfaceArea(self) Returns the surface of a cube using the formula        surface=6 * side*side getVolume(self) Returns the volume of a cube using the formula        volume = side * side *side class Cube:     def __init__(self, side): # Creates a cube with a given “side” length.         self.side = side       def getSide(self): # Returns the “side” length of a cube.         return self.side     def getSurfaceArea(self): # Returns the surface of a cube using the formula          area = 6 * self.side*self.side         return area     def getVolume(self): # Returns the volume of a cube using the formula          volume = self.side * self.side *self.side         return volume def main():     cube = Cube(10)     area  = cube.getSurfaceArea()     volume = cube.getVolume()     print("side=",cube.getSide(), "area=",area, "volume=", volume) main()  


10. A palindrome is a sentence that you can read the same from left to right and from right to  left without regard of spaces or punctuation. For example, the following sentences are  palindromes: “Never odd or even”, “Madam, I’m Adam”.  Wrote a program that tells you if a  sentence is a palindrome or not. Example input/output: Sentence? Never odd or even It is a palindrome. Do you want to continue? (yes/no) yes Sentence? Hello world It is not a palindrome. #palindrome.py def main():     while True:         s = input("Sentence?")         # Remove punctuation and spaces         # Iterate over all characters ch in s.         # Add ch to s2 only if ch is a letter.         #          s2 = ""         for ch in s:       if ch.isalpha():       s2 = s2 + ch         s = s2         # Convert s to lower case         s = s.lower()         print(s)         # Obtain reverse         r = ""         for ch in s:       r = ch + r         # Compare reverse with s         if s == r:       print("It is a palindrome")


        else:       print("It is not a palindrome.")         yesno=input("Do you want to continue? (yes/no)")         if yesno=="no":       break main()


Related documents


Hameed is giving 5 outer faces of the tank covered with titles he would need to know the surface area of the tank, to decide on the number of

In Section 3, we exhibit a basic reading of the cube in Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI 2015).. terms of

Since December 2003, subscribers to broadband Internet via the Freebox (in unbundled areas and subject to line eligibility) have been offered a television service with more than

_ommissioned jointly by the Barlow Endowment for Music Composition at Brigham Young University and the Buffalo Philharmonic Orchestra, Lukas Foss's flute concerto

This paper examines the relationship between banking governance internal mechanisms and financial and stock market performance.. To examine this relationship, we studied a sample of

AAMC: Association of American Medical Colleges; APSA: American Physician Scientists Association; CDAs: Career development awards; CTSA: Clinical and translational science awards;

To address this research gap, this research aims to study AC at the project level and identify the most significant antecedents of the recipient project team’s AC

International human rights law proscribes discrimination in access to health care and the underlying determinants of health, and to the means for their procurement, on the grounds

To refer to an individual cubie or a face of a cubie, we use one letter for the center cubies, two letters for the edge cubies, and three letters for the corner cubies, which give

Being longer in size and having greater number of moves and steps, Pakistani acknowledgements were highly complex, elaborated, and distinct variety in its generic

The EABR with aluminum electrodes using a relatively low current density of 0.1 mA cm 2 operated at the HRT of 24 h could treat the municipal wastewater to the discharge limits

This finding is in line with previous research on age-related positivity bias that has shown older adults draw more positive affect from material compared to younger adults ( Kennedy

Our study was unique in that we were able to utilize two dif- ferent kinds of control group analyses: the first using personal interviews capturing the period of pregnancy to age

Given a fixed fraction of buyers participating in the formal and informal market (b fo and b in respectively), sellers will migrate between the two markets at a rate which

To determine whether the melodic structure manipulation affected the perception of the song illusion, we analysed musicality ratings using the model-fitting procedure described

It was observed that the low concentration of HPMC K4M causes the disintegration of the tablet before the desired time while excess amount of polymer leads to the trapping

Applications of Fourier transform ion cyclotron resonance (FT-ICR) and orbitrap based high resolution mass spectrometry in metabolomics and lipidomics. LC–MS-based holistic metabolic

In our previous work we tried to approach the problem as “black-box” global optimization by cove- ring methods ( Č iegis et al. 2006; Žilinskas 2008), genetic algorithms (Belevi

What is more, not only do subjects participate in medicalization from the moment they decide to turn to a medical authority, they become its instigator when, on their

We study the problem of finding optimal transmission policies in a point-to-point energy harvesting communication system with continuous energy arrivals in causal setting..

Top right, US scan at 21 weeks’ gestation showing normal brain structures in surviving

It states it is NOT insurance (kind of like what auto rental companies provide …). It does NOT provide personal liability coverage … unlike UBER advertises for those involved in