Skip to content

Instantly share code, notes, and snippets.

@Kiser360
Created April 15, 2018 17:58
Show Gist options
  • Save Kiser360/2036fe566c90f09e10a551a4a9ff9e74 to your computer and use it in GitHub Desktop.
Save Kiser360/2036fe566c90f09e10a551a4a9ff9e74 to your computer and use it in GitHub Desktop.
CPT-135 Chap 7 Assignment
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