Saturday, August 15, 2015

Intro to Programming with Python - Tutorial 9 - Exercise 2

This is our second exercise for tutorial 9 (https://youtu.be/rW-iqRxP6Cs)

In this exercise we have to redo the exercise from tutorial 8 using a while loop.

So for this exercise:
  • Initialize an empty grades dictionary variable.
  • Prompt the user for the number of students in the class. 
  • Convert the number of students to an integer
  • Use a WHILE loop to allow the user to enter each student name and grade and add them to the grades dictionary.
  • When finished print the grades dictionary back to the user in a friendly manner. You can use the same for loop to pretty print the dictionary as used in tutorial 8
Here is a sample output of running this program:


Here is the code that accomplishes this:
# Ask the user how many students they have in their class
numOfStudents = int(input('How many students do you have in your class? '))
# Create an empty grades dictionary
grades = {}
# Here is how we loop N times using a while loop
num = 0
while num < numOfStudents:
name = input('Enter student name: ')
# Read the mark and convert it to int
mark = int(input('Enter student mark: '))
grades[name] = mark
# Now we increment the num variable by 1
num += 1
# Now pretty print
print('Your class grades are as follows: ')
for name in grades:
print(' ', name, '-->', grades[name])

Intro to Programming with Python - Tutorial 9 - Exercise 1

In the 9th tutorial in our introduction to programming using Python series we present the while loops.
The video tutorial can be found here:
https://youtu.be/rW-iqRxP6Cs

Our first exercise for this tutorial is to create a number adder/averager.
When you run your code it should prompt the user to enter numbers until the user says 'Done'
Then it should display the number of numbers the user entered, the total and average for them.

Here is a screen shot of what you should see when you run your program:


The code to accomplish this is as follows:
# First we create variables for the number of numbers and the total
numberOfNumbers = 0
total = 0
# Now we loop until the user says Done
while True:
userInput = input('Please enter a number or "Done" if finished: ')
if userInput == 'Done':
break
num = int(userInput)
# Note total += num is the same as saying total = total + num
total += num
numberOfNumbers += 1
# We have to check if user entered no numbers.
# If we do not check and we divide (total / numberOfNumbers) we would
# be dividing by zero and Python would complain
if numberOfNumbers == 0:
print('You did not enter any numbers')
else:
avg = total / numberOfNumbers
print('You entered %s numbers. Total is %s and average is %s' % (numberOfNumbers, total, avg))

Sunday, August 2, 2015

Intro to Programming with Python - Tutorial 8 - Exercise

In the 8th tutorial in the introduction to programming with python series we introduced for loops.
The video tutorial can be found here:
https://www.youtube.com/watch?v=b8R9ysVd1sg

The exercise for this tutorial is to make the previous exercise, for tutorial 7, more flexible.
For this exercise:

  • Initialize an empty grades dictionary variable.
  • Prompt the user for the number of students in the class. 
  • Convert the number of students to an integer
  • Use a for loop to allow the user to enter each student name and grade and add them to the grades dictionary.
  • When finished print the grades dictionary back to the user in a more user friendly manner than what we did for the last exercise (See sample program output below)
Here is a sample output of running the program:


Here is the program itself for your reference:
# Ask the user how many students they have in their class
numOfStudents = int(input('How many students do you have in your class? '))
# Create an empty grades dictionary
grades = {}
# Here is our for loop.
# Remember using the range(numOfStudents)
# we will execute the loop that many times
for index in range(numOfStudents):
name = input('Enter student name: ')
# Read the mark and conver it to an int
mark = int(input('Enter student mark: '))
# Add the name -> mark key value pair to the grades dictionary
grades[name] = mark
# Now pretty print
print('Your class grades are as follows: ')
for name in grades:
print(' ', name, '-->', grades[name])


Intro to Programming with Python - Tutorial 7 - Exercise 1

In tutorial 7 in the intro to programming with python series we covered python dictionaries.
The YouTube tutorial can be found here:

The exercise for this tutorial is to build a dictionary for class grades.
Initialize the grades dictionary with five names and marks (You pick names and marks)

Then write a code block that will ask the user to enter a name. 
If name is found in the grades dictionary tell the user what his/her grade is. Then ask if they wish to change the grade. If answer is 'Yes' prompt them to enter a new grade and replace the old one in the dictionary.
If the name is NOT found in the grades dictionary prompt the user to enter a mark and add the name and associated mark to the grades dictionary.

Repeat this FIVE times (Copy and paste this code block)

When done tell the user what the grades dictionary looks like.

Here is a sample output from running the program.


Here is the program:
# Define the five key value pairs in our initial grades dictionary
# You can separate the key value pairs onto individual lines for clarity
grades = {
'John Smith' : 80,
'Jane Austin' : 82,
'Mohammed Ali' : 86,
'Janet Jackson' : 76,
'Bob Marley' : 92
}
# Now ask the user, five times
name = input('Enter a name: ')
if name in grades:
print('We have %s with a mark of %s' % (name, grades[name]))
replaceMark = input('Do you wish to change the mark (Yes/No)? ')
if replaceMark == 'Yes':
mark = int(input('Enter the new mark: '))
grades[name] = mark
else:
print('We do not have %s in our grades dictionary' % name)
mark = int(input('Enter a new mark for %s: ' % name))
grades[name] = mark
name = input('Enter a name: ')
if name in grades:
print('We have %s with a mark of %s' % (name, grades[name]))
replaceMark = input('Do you wish to change the mark (Yes/No)? ')
if replaceMark == 'Yes':
mark = int(input('Enter the new mark: '))
grades[name] = mark
else:
print('We do not have %s in our grades dictionary' % name)
mark = int(input('Enter a new mark for %s: ' % name))
grades[name] = mark
name = input('Enter a name: ')
if name in grades:
print('We have %s with a mark of %s' % (name, grades[name]))
replaceMark = input('Do you wish to change the mark (Yes/No)? ')
if replaceMark == 'Yes':
mark = int(input('Enter the new mark: '))
grades[name] = mark
else:
print('We do not have %s in our grades dictionary' % name)
mark = int(input('Enter a new mark for %s: ' % name))
grades[name] = mark
name = input('Enter a name: ')
if name in grades:
print('We have %s with a mark of %s' % (name, grades[name]))
replaceMark = input('Do you wish to change the mark (Yes/No)? ')
if replaceMark == 'Yes':
mark = int(input('Enter the new mark: '))
grades[name] = mark
else:
print('We do not have %s in our grades dictionary' % name)
mark = int(input('Enter a new mark for %s: ' % name))
grades[name] = mark
name = input('Enter a name: ')
if name in grades:
print('We have %s with a mark of %s' % (name, grades[name]))
replaceMark = input('Do you wish to change the mark (Yes/No)? ')
if replaceMark == 'Yes':
mark = int(input('Enter the new mark: '))
grades[name] = mark
else:
print('We do not have %s in our grades dictionary' % name)
mark = int(input('Enter a new mark for %s: ' % name))
grades[name] = mark
print('Here is the updated grades dictionary: ', grades)