Starting from:

$30

CSCI160 Computer Science I  Project 1 -Solved


I want to do a survey to determine the majors of students taking CS160. To do this, write a 
program that asks for a student’s major. For this program the only majors I’m concerned with 
are Computer Science, Data Science, and Cyber Security. To simplify data entry, we will use the 
terms “cs” for Computer Science, “data” for Data Science, and “cyber” for Cyber Security. 
Anything other than those three majors will be considers as “Other Major.” 
Continue to ask for majors until the user enters a major of “done”. Make sure that this entry is 
not counted towards the “Other Majors” category. Total up all the entries for each of the 
specified major, along with the total for other Majors. 
For only the CS majors we want to ask about their minor. The only minors we are interested in 
tracking are Data Science, Cyber Security, and Mathematics. Again, to simplify the input, we will 
accept “data” for the Data Science Minor, “cyber” for the Cyber Security minor, and “math” for 
the Mathematics minor. If a student is a Computer Science major ask for their minor 
immediately, before asking for the next student’s major. 
Specifics: 
• All strings entered will be lower case (“cs”, “data”, “cyber”, “math”). While we will not 
enter test data with mixed cases, entering “DATA” for the major or minor would place 
that entry in the other category. 
• When comparing strings you may use .lower() to convert a string to an upper or lower 
case string. This will be a topic for future classes. For now, to ensure a string contains 
only lower case letters assign the variable back to itself as follows: 
stringVariable = stringVariable.lower() 
• Only ask for the minor for Computer Science majors 
• “Other Majors” is not a major, it is just a means of referring to anything other than the 
specified majors. 
• Your program should include a comment section with your name, lab time, lecture time, 
and email address.Output 
After all of the data has been entered print out the following information: 
• The number of students entering their major 
• The number and percentage of students from the class for each of the three specified 
major, and for other (anything other than the three specified majors). Note that it is 
possible for the summation of the four percentages to not add up to 100 due to round 
off error. If this happens, the summation, which is not required to be printed, should be 
99.99. The majors should be left justified, with the number of students and the 
percentages right justified. The percentage should have two places after the decimal 
point. 
• The number and percentage of each minor. As with the table created for the majors, the 
name of the minors should be left justified, with the number of students and the 
percentages right justified. The percentage should have two places after the decimal 
point. 
For example, if the following data was entered this is what the program might display. Note 
that this output is typed, not actual output from running the program, so there may be typos. 
Enter major: cs 
Enter minor: data 
Enter major: data 
Enter major: cyber 
Enter major: econ 
Enter major: none 
Enter major: done 
This could be the output from the above data: 
Total number of students 5 
Majors of students in CS160 
Computer Science 1 20.00 
Data Science 1 20.00 
Cyber Security 1 20.00 
Other Majors 2 40.00 
Minors for Computer Science Majors in CS160 
Data Science 1 100.00 
Cyber Security 0 0.00 
Mathematics 0 0.00 
Other Minors 0 0.00

More products