python考试题 求解
CS 100 Fall 2012 Final Monday, May 13, 2013 There are 13 questions on this test. Record your answers to the first 10 questions below. Answer questions 11A, 11B, 12 and 13 on the designated attached pages. There are also scratch pages for the programming problems. The value of each question is: 1-10 multiple choice (4 pts each) 11-13 programming (20 pts each) Allocate your time accordingly. We will give partial credit for questions 11A, 11B, 12 and 13. Answer them as completely as you can. If you finish early, use the extra time to double check your work. You may use the summary of Python language elements that is provided. You may not use notes, books or electronic devices of any sort. All cell phones and other mobile devices must be turned off during the exam. Be sure to sign the hand-in sheet when you hand in your exam. Good luck! Print Name _ Student ID_ Section _ (see section schedule below) S2 TR 8:30; S4 WF 1:00; S6 WF 10:00; S8 MR 2:30; S10 TR 10:00 Q1 a b c d e Q2 a b c d e Q3 a b c d e Q4 a b c d e Q5 a b c d e Q6 a b c d e Q7 a b c d e Q8 a b c d e Q9 a b c d e Q10 a b c d e SECTION 1: Multiple choice. Problems 1-10 are multiple choice (4 points each). Choose the letter that gives the output of the given code fragment. Record your answer on the front page of the answer packet. Question 1 def fifthOneOdd(numlist): for i in range(0, len(numlist): if i%5 != 0: continue if numlisti%2 != 1: return False return True nums = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 print(fifthOneOdd(nums) a. True b. False c. False True d. SyntaxError: multiple return statements e. None of the above Question 2 def hasVowel(wordList): vowels = 'aeiouAEIOU' rtnList = for word in wordList: for letter in word: if letter in vowels: rtnList.append(word) break return rtnList subwayAd = 'Rd', 'ths', 'to', 'gt', 'a', 'gd', 'jb' print(hasVowel(subwayAd) a. b. 'to' c. 'to', 'a' d. TypeError: string in list e. None of the above Question 3 aString = 'Springsteen, Springsteen, oh, Springsteen!' aList = aString.split() bossCount = 0 for word in aList: if word = 'Springsteen': bossCount += 1 print(bossCount) a. 0 b. 1 c. 2 d. 3 e. None of the above Question 4 titles = 'Ulysses', 'Typhoon', 'Eeyore', 'Brigadoon', 'Oo! Ah! Ee!' double = for title in titles: for i in range(len(title)-1): if titlei = titlei+1: double.append(title) print(double) a. b. 'Typhoon', 'Brigadoon' c. 'Ulysses', 'Typhoon', 'Brigadoon' d. 'Ulysses', 'Typhoon', 'Eeyore', 'Brigadoon', 'Oo! Ah! Ee!' e. None of the above Question 5 def vowelTest(testStr): vowels = 'aeiou' vowelsInTestStr = '' for letter in testStr: if letter in vowels: vowelsInTestStr += letter return vowelsInTestStr t = 'you heard it here' print(vowelTest(t) a. oueai b. oueaiee c. aeiou d. aeeeiou e. None of the above Question 6 order = '1st', '2nd', '2nd': 'John', '1st': 'George', '1st', '2nd' print(order1'1st') a. SyntaxError b. 0 c. 2 d. 0, 1, 2 e. None of the above Question 7 presidents = 'Jefferson':3, 'Adams':2, 'Washington':1 print(presidents1) a. Jefferson b. Adams c. Washington d. KeyError: 1 e. None of the above Question 8 opVals = not True, not not True, False and not True, not False and True falseCount = 0 for expr in opVals: if expr = False: falseCount += 1 print(falseCount) a. 1 b. 2 c. 3 d. 4 e. None of the above Question 9 The lines below are the content of the file named 'thunder.txt'. Well the nights busting open These two lanes will take us anywhere We got one last chance to make it real To trade in these wings on some wheels After the execution of the following code, what is the content of the file 'thunderOut.txt'? inF = open('thunder.txt', 'r') outF = open('thunderOut.txt', 'w') for line in inF: if 'we' in line.lower(): outF.write(line) inF.close() outF.close() a. We got one last chance to make it real b. Well the nights busting open We got one last chance to make it real c. Well the nights busting open We got one last chance to make it real To trade in these wings on some wheels d. thunderOut.txt is an empty file e. none of the above Question 10 from turtle import * t = Turtle() for i in range(4): if i%3 = 0: t.forward(100) t.right(90) elif i%2 = 0: t.forward(100) else: t.forward(100) a. Invalid syntax b. One line of length 100 c. One line of length 200 d. Two perpendicular lines e. None of the above SECTION 2: Programming Problems. Problems 11A, 11B, 12 and 13 are programming problems. Write your answers on the designated pages of the answer packet. Question 11 Part a (10 points) Write a function name tri() that takes two parameters: 1. t - a turtle used for drawing and 2. size the length of a side of a triangle tri() should draw an equilateral triangle in which the sides are of length size, leaving the turtle t in the initial position and orientation. For full credit, repeated operations must be performed by loops. Question 11 Part b (10 points