Created
April 15, 2018 17:58
-
-
Save Kiser360/2036fe566c90f09e10a551a4a9ff9e74 to your computer and use it in GitHub Desktop.
CPT-135 Chap 7 Assignment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def getInput(prompt): | |
thing = input(prompt) | |
print('You entered: %s\n' % thing) | |
return thing | |
def getInputs(): | |
title = getInput('Enter a title for the data:\n') | |
h1 = getInput('Enter the column 1 header:\n') | |
h2 = getInput('Enter the column 2 header:\n') | |
return title, h1, h2 | |
def getDataPoint(strs, nums): | |
dLine = input('Enter a data point (-1 to stop input):\n') | |
segments = dLine.split(',') | |
if dLine == '-1': | |
return False | |
if len(segments) == 1: | |
print('Error: No comma in string.') | |
return True | |
if len(segments) > 2: | |
print('Error: Too many commas in input.') | |
return True | |
dStr = segments[0] | |
try: | |
dNum = int(segments[1]) | |
except: | |
print('Error: Comma not followed by an integer.') | |
return True | |
print('Data string: %s' % dStr) | |
print('Data integer: %d' % dNum) | |
strs.append(dStr) | |
nums.append(dNum) | |
return True | |
def printDataPoint(dStr, dNum): | |
print('{:<20}|{:>23}'.format(dStr, dNum)) | |
def printHistogram(dStr, dNum): | |
print('{:>20} {:*<{dNum}}'.format(dStr, '', dNum = dNum)) | |
title, h1, h2 = getInputs() | |
data_strings = [] | |
data_numbers = [] | |
while(getDataPoint(data_strings, data_numbers)): | |
print('') | |
print('{:^44}'.format(title)) | |
printDataPoint(h1, h2) | |
print('{:-^44}'.format('')) | |
for i in range(0, len(data_strings)): | |
printDataPoint(data_strings[i], data_numbers[i]) | |
print('') | |
for i in range(0, len(data_strings)): | |
printHistogram(data_strings[i], data_numbers[i]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment