CompSci 101 Exam 2 Sec01 Spring 2017

Similar documents
Genetic Algorithm in Python. Data mining lab 6

IPSOS / REUTERS POLL DATA Prepared by Ipsos Public Affairs

Part 1. Part 2. airports100.csv contains a list of 100 US airports.

Specialty Cruises. A. 100% Tally and Strip Cruises

Online Appendix to Quality Disclosure Programs and Internal Organizational Practices: Evidence from Airline Flight Delays

Maximization of an Airline s Profit

Portability: D-cide supports Dynamic Data Exchange (DDE). The results can be exported to Excel for further manipulation or graphing.

Model Solutions. ENGR 110: Test 2. 2 Oct, 2014

Specialty Cruises. 100% Tally and Strip Cruises

MIS 0855 Data Science (Section 006) Fall 2017 In-Class Exercise (Day 27-28) Visualizing Network

Combining Control by CTA and Dynamic En Route Speed Adjustment to Improve Ground Delay Program Performance

Data Session U.S.: T-100 and O&D Survey Data. Presented by: Tom Reich

ADVANTAGES OF SIMULATION

Big Data Processing using Parallelism Techniques Shazia Zaman MSDS 7333 Quantifying the World, 4/20/2017

Air Extras Shopping Formats

ACI-NA BUSINESS TERM SURVEY APRIL 2017

Statistical Report Calendar Year 2013

SERVICE NETWORK DESIGN: APPLICATIONS IN TRANSPORTATION AND LOGISTICS

Unit Activity Answer Sheet

Do Not Write Below Question Maximum Possible Points Score Total Points = 100

ACI-NA BUSINESS TERM SURVEY 2018 BUSINESS OF AIRPORTS CONFERENCE

Fly Quiet Report. 3 rd Quarter November 27, Prepared by:

The Big 4 Airline Era, New Ultra Low Cost Carriers, and Implications for Airports

Kansas City Aviation Department. Update to Airport Committee January 26, 2017

Abstract. Introduction

TravelWise Travel wisely. Travel safely.

World Class Airport For A World Class City

World Class Airport For A World Class City

Decision aid methodologies in transportation

Sabre Online Quick Reference Guide

DATA APPLICATION CATEGORY 25 FARE BY RULE

CSCE 520 Final Exam Thursday December 14, 2017

World Class Airport For A World Class City

Aviation Gridlock: Airport Capacity Infrastructure How Do We Expand Airfields?

Passenger and Cargo Statistics Report

VIRGIN AMERICA MARCH 2016

Availability. 2002, Worldspan L.P. All Rights Reserved.

GOGO Overview How it Works Shop by Fares not Search by Schedule IMPORTANT:

SIMAIR: A STOCHASTIC MODEL OF AIRLINE OPERATIONS

UNITED STATES OF AMERICA DEPARTMENT OF TRANSPORTATION OFFICE OF AVIATION ENFORCEMENT AND PROCEEDINGS WASHINGTON, DC. March 4, 2015

TIMS to PowerSchool Transportation Data Import

Solutions for CAT 2017 DILR Morning (Slot-1)

Scenarios for Fleet Assignment: A Case Study at Lion Air

Activity Template. Drexel-SDP GK-12 ACTIVITY. Subject Area(s): Sound Associated Unit: Associated Lesson: None

RV10 Weight and Balance

Preemptive Rerouting of Airline Passengers under. Uncertain Delays

Portland International Jetport Noise Advisory Committee 1001 Westbrook Street, Portland, Maine 04102

Outlook for Air Travel

February Calendar Year Monthly Summary

Schedule Compression by Fair Allocation Methods

December Calendar Year Monthly Summary

October Calendar Year Monthly Summary

Gulf Carrier Profitability on U.S. Routes

SENIOR CERTIFICATE EXAMINATIONS

April Calendar Year Monthly Summary

May Calendar Year Monthly Summary

June Calendar Year Monthly Summary

November Calendar Year Monthly Summary

December Calendar Year Monthly Summary

Management Presentation. March 2016

Investor Update July 22, 2008

Math at the Amusement Park

Megahubs United States Index 2018

Transportation: Airlines

Spirit Airlines Reports First Quarter 2017 Results

Passengers Boarded At The Top 50 U. S. Airports ( Updated April 2

UC Berkeley Working Papers

This article is based upon a report issued by IdeaWorksCompany.

ASM ROUTE DEVELOPMENT TRAINING BASIC ROUTE FORECASTING MODULE 7

Incentives and Competition in the Airline Industry

U.S. DOMESTIC INDUSTRY OVERVIEW FOR OCTOBER 2010 All RNO Carriers Systemwide year over year comparison

CASS & Airline User Manual

AIRLINE CONNECTION POINT ANALYSIS

Solutions to Examination in Databases (TDA357/DIT620)

HOW TO IMPROVE HIGH-FREQUENCY BUS SERVICE RELIABILITY THROUGH SCHEDULING

Chapter 16 Revenue Management

Air Travel travel Insights insights from Routehappy

SOUTHWEST AIRLINES. Submitted By: P.Ranjithkumar 10MBA0031. Batch-D

Spirit Airlines Reports Fourth Quarter and Full Year 2016 Results

Managing And Understand The Impact Of Of The Air Air Traffic System: United Airline s Perspective

Background Information. Instructions. Problem Statement. HOMEWORK INSTRUCTIONS Homework #4 Airfare Prices Problem

Link btwn Oper & Finance

Passenger and Cargo Statistics Report

Passenger and Cargo Statistics Report

The Airport Credit Outlook

Passenger and Cargo Statistics Report

Passenger and Cargo Statistics Report

Approximate Network Delays Model

2011 AIRPORT UPDATE. March 25, 2011

Concur Travel: Post Ticket Change Using Sabre Automated Exchanges

Knowledge Creation through User-Guided Data Mining: A Database Case

Certify Online R eservation Guide

Lesson: Travel Segment (TVL)

PORTLAND INTERNATIONAL AIRPORT (PDX)

4 REPORTS. The Reports Tab. Nav Log

Passenger and Cargo Statistics Report

2016 Air Service Updates

World Class Airport For A World Class City

Airline Boarding Schemes for Airbus A-380. Graduate Student Mathematical Modeling Camp RPI June 8, 2007

Airline Fuel Efficiency Ranking

Transcription:

CompSci 101 Exam 2 Sec01 Spring 2017 PROBLEM 1 : (What is the output? (16 points)) Part A. What is the output of the following code segments? Write the output to the right. Note that there is only output for the print statements. lista = [ H, J, K ] lista.append( W ) lista.extend([ P, Q ]) print lista lista = [ V, S, C ] lista.insert(0, M ) print lista lista.remove( S ) print lista lista.pop() print lista # ------------------------- seta = set([8,1,4,1,4,3,7]) seta.add(4) seta.add(6) print sorted(list(seta)) seta = set([8,1,4,1,4,3,7]) seta.remove(4) print sorted(list(seta)) # ------------------------- seta = set([5, 1, 9]) setb = set([8, 5, 3]) print seta.difference(setb) print setb.union(seta) print seta&setb # ------------------------- d = { P :3, F :2, Y :3, A :4} print sorted(d.keys()) d[ H ] = 5 d[ Y ] = 7 print sorted(d.keys()) print sorted(d.values()) print sorted(d.items()) OUTPUT ------ 1

Part B. What is the output of the following code segment? Write the output after the code segment. Note that there is only output for the print statements. nums = [100, 40, 70, 40, 100, 40] dict = {} for n in nums: if n not in dict: dict[n] = 1 else: dict[n] += 1 print dict.keys() print dict.values() print max(dict.values()) What is the output? 2

PROBLEM 2 : (Short Code/Answer (17 points)) For parts that involve writing code, your code should also work if the given list was modified with different values. A. (3 pts) Consider the following code. What is the value of result after this line executes? words = ["python", "meerkat", "giraffe", "rabbit", "cat", "ferret"] result = [len(v) for v in words if len(v) > 6] B. (3 pts) Consider the following code. What is the value of result after this line executes? words = ["python", "meerkat", "giraffe", "rabbit", "cat", "ferret"] result = ["".join([w[-1],w[0]]) for w in sorted(words) if e in w] C. (5 pts) Write one line of code that includes a list comprehension to assign to the variable result a list of every other word from the list words starting with the first such word. The resulting list should have the words in the same order as the original list. words = ["python", "meerkat", "giraffe", "rabbit", "cat", "ferret"] For example, if words was the list above, then after executing the list comprehension, then result would be the list [ python, giraffe, cat ] Write the list comprehension below. result = D. (6 pts) Write a function named firstnames that has one parameter namelist that is a list of strings representing names. Each name in namelist is two or more words separated by a blank. This function returns a list of ordered tuples. For each unique first name a tuple is created. The first part of the tuple is a first name and the second part is the number of times that first name appears in namelist as a first name. The list of tuples returned are sorted by first names. For example, suppose namelist has the following value: 3

namelist = ["Abraham Lincoln", "Grace Kelly", "Michael Jackson", "Grace Murray Hopper", "Janet Damita Jo Jackson"] Then the call firstnames(namelist) would return the list [( Abraham, 1), ( Grace, 2), ( Janet, 1), ( Michael, 1)] def firstnames(namelist): 4

PROBLEM 3 : (Shopping for food (15 points)) Consider the following data file of information on buying items at a grocery store. Each line in the file represents one purchase by a customer. The format of each line is in one of two formats depending on whether the item has a price or is sold by weight and thus has a weight and a price per pound. Here is the format of a line. The first item is the customerid, followed by colon, followed by the item to purchase, followed by colon, followed by the letter P or W. If the letter is P, it is followed by a colon and then a price. If the letter is W, it is followed by a colon, followed by a weight, followed by a colon, followed by a price per pound. An example of the data file is shown below. For example, in the first line, the customer id is 45623, the item to purchase is apples, the letter is W, meaning the 2.4 is the weight and 5.00 is the price per pound. In the second line, the customer id is 7634, the item to purchase is peanut butter, the letter is P, and the price is 4.00. 45623:apples:W:2.4:5.00 7634:peanut butter:p:4.00 45623:plums:W:1.5:2.50 45623:spinach:W:1.0:3.50 2375:eggs:P:5.20 7634:oats:W:0.5:3.00 45623:oj:P:3.75 7634:bananas:W:3.2:1.50 2375:yogurt:P:3.25 A. (7 pts) Write the function setuplist that has one parameter filename which represents the name of the file. This function returns a list of lists of three things, where each list has the customer id, the item to purchase, and the total price of the item. For example, the line data = setuplist("purchasedata.txt") where purchasedata.txt is the file above would result in data having the value on the next page. For those items with the letter W, you need to calculate the total price for the item. For apples that would be 2.4 * 5 = 12.0. data = [ [ 45623, apples, 12.0], [ 7634, peanut butter, 4.0], [ 45623, plums, 3.75], [ 45623, spinach, 3.5], [ 2375, eggs, 5.2], [ 7634, oats, 1.5], [ 45623, oj, 3.75], [ 7634, bananas, 4.80], [ 2375, yogurt, 3.25] ] Complete the function setuplist below. 5

def setuplist(filename): f = open(filename) B. (8 pts) Write the function grocerypurchases that has three parameters, data, custid and amount, where data is the list of lists in the format resulting from Part A, custid is a customer id, and amount is a the amount of money the customer has. This function determines which items the customer can purchase based on the desired items to purchase in data and the amount of money they have. That is, this function returns a list of tuples representing items the customer wanted and has enough money to purchase. Process the items in the order they are in data. For example, assume data is the lists of lists of three items on the previous page. The result of calling grocerypurchases(data, "45623", 16.00) is [( apples, 12.0), ( plums, 3.75)]. Customer 45623 could buy apples and plums, but then has only 0.25 cents left and cannot purchase spinach or oj, two other items they were interested in purchasing. def grocerypurchases(data, custid, amount): 6

PROBLEM 4 : (Flying High (44 points) ) Suppose you have data about airline flights in the format of a list of lists, where each list represents one flight. In particular, each list has five strings: the identifying flight information (which is two words, the airline and a number), the three letter airport code for the departing city, the three letter airport code for the arrival city, the number of seats on the plane, and the estimated number of minutes in the air. For example, suppose datalist is the list below. The first item in the first list in datalist represents the flight Delta 165 (where the airline is the first word Delta and the flight number is 165 ) The second item is the departure city RDU, the third item is the arrival city ATL, the fourth item is the total number of seats on the flight, 172, and the fifth item is the estimated number of minutes for the flight, 50. datalist = [ [ Delta 165, RDU, ATL, 172, 50 ], [ JetBlue 1862, RDU, DTW, 190, 109 ], [ Southwest 175, RDU, DEN, 220, 235 ], [ American 1567, RDU, DEN, 290, 232 ], [ JetBlue 4576, DTW, DEN, 190, 190 ], [ Delta 526, ATL, RDU, 78, 55 ], [ Southwest 562, ATL, DEN, 290, 200 ], [ American 1274, RDU, DEN, 290, 232 ], [ Delta 1452, PHX, ATL, 350, 209 ], [ Southwest 157, DTW, ATL, 260, 115 ], [ American 237, RDU, DEN, 451, 192 ], [ Delta 275, RDU, ATL, 50, 90 ], [ JetBlue 422, DTW, PHX, 340, 160 ] ] In writing any of these functions, you may call any other function you wrote for this problem. Assume that function is correct, regardless of what you wrote. A. (7 pts) Write the function named departurecities which has two parameters, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier, and the string airline, which is one word representing an airline. This function returns a list of the unique, sorted names of the departure cities for airline. For example, if datalist is the example list of lists mentioned earlier then the call departurecities(datalist, Delta ) would return the list [ ATL, PHX, RDU ] def departurecities(datalist, airline): B. (7 pts) Write the function largeflights which has three parameters, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier, a string acity representing an arrival city, and an integer size. This function returns a sorted unique list of departure cities that arrive in acity and can carry more than size people on the flight. 7

For example, if datalist is the list of lists mentioned earlier, then largeflights(datalist, DEN, 200) would return the list [ ATL, RDU ]. Both of these cities have at least one flight to DEN that brings more than 200 people on the flight. Note the resulting list of cities are unique and in sorted order. Note that DTW also has a flight to DEN but brings fewer than 200 people. def largeflights(datalist, acity, size): C. (7 pts) Write the function airlinesnotused which has two parameters, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier, and a list named airlines that is a list of popular airlines. This function returns a sorted list of the unique popular airlines that are not in datalist. For example, if datalist is the list of lists mentioned earlier and if popular airlines [ United, Delta, Frontier, American ] is the list of then the call airlinesnotused(datalist, popular) would return the list [ Frontier, United ]. def airlinesnotused(datalist,airlines): D. (8 pts) Write the function airlinemostflights which has one parameter, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier. This function computes the airline that has the most flights in datalist. You must build a dictionary as part of solving this problem. For example, if datalist is the list of lists mentioned earlier, then the call airlinemostflights(datalist) would return the airline Delta, which has four flights in datalist, the most number of any of the airlines in datalist. If there was a tie, then you can return any one of the airlines that tied. def airlinemostflights(datalist): E. (7 pts) Write the function dictdepartcities which has one parameter, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier. This function returns a dictionary where each departure city is mapped to a list of tuples of information for flights departing from that city, where each tuple is a flight (airline and number) and the capacity for the flight. For example, if datalist is the list of lists mentioned earlier, then the call dictdepartcities(datalist) would return a dictionary with several entries. One entry would have key ATL with value [( Delta 526, 78), ( Southwest 562, 290)] as these are the two flights that depart from ATL. def dictdepartcities(datalist): 8

F. (8 pts) Write the function deptcitylargestcapacity which has one parameter, datalist, that is a nonempty list of lists of five strings in the format mentioned earlier. This function calculates the departure city with the maximum outgoing capacity (the sum of the sizes of all the flights departing from that city) and returns a tuple of three items. The first item is the name of such city and the second item is the total capacity of all the flights departing from this city. The third item is a list of tuples of the flights (name and number) and their capacity for all flights departing from this city. Assume there is no tie. For example, if datalist is the list of lists mentioned earlier, then deptcitylargestcapacity(datalist) would return ( RDU, 1663, [( Delta 165, 172), ( JetBlue 1862, 190), ( Southwest 175, 220), ( American 1567, 290), ( American 1274, 290), ( American 237, 451), ( Delta 275, 50)]). Note the name of the departing city with the largest capacity is RDU and its total capacity is 1663. The list of tuples are the individual flights from RDU, each with their capacity. The 1663 is the sum of all the flight capacities in that list. def deptcitylargestcapacity(datalist): 9