CSC111 Lab 6 2015b

From dftwiki3
Revision as of 16:39, 12 October 2015 by Thiebaut (talk | contribs)
Jump to: navigation, search

--D. Thiebaut (talk) 17:20, 12 October 2015 (EDT)




The lab is an exploration of various questions and concepts dealing with Python, and is a preparation for Friday's midterm exam. The questions will be given out in class, and explored on the whiteboard.


<showafterdate after="20151014 12:10" before="20151231 00:00">

Problem #1:


What is the output of the following python program?


a = 3
b = 4
for a in range( b ):
    print( a, a+b )



Problem #2:


What is the output of the following program? (tricky)


print( "you win: " )
for i in range( -3, 0, -1 ):
    print( "hip,", sep='-' )
print( "hourrah!" )



Problem #3:


Write the code necessary to print the first, third, fifth, seventh,... words of the following list of words.


L = [ "the", "quick", "red", "fox", 'jumped', 'over',
      'the', 'lazy', 'brown', 'sleeping', 'dog' ]



In other words, the output for this list of words should be:

the red jumped the brown dog

Make sure your code works with any list of words, not just the one given here. In particular, you shouldn't use the number 11, which is the number of words in the list.


Problem #4:


When we run the program below, it outputs 18 10. What were the 2 numbers entered by the user?


def f1( a ):
    b = 5
    return a*2

def f2( b ):
    a = 3
    return b+a


def main():
    a = input( "Enter first number? " )
    b = input( "Enter second number? " )
    print(  f1( b ), f2( a ) )


main()


Problem #5:


Write a python program (you do not need to use functions, but you can if you prefer) that asks the user for her full name (first and last name), and outputs the name on the screen with a box of stars around it, such that the user's name is centered in the box. The box should be exactly 6 characters wider than the name of the user.

Here's an example output:


What is your name? Alan Turing

*****************
*               *
*  Alan Turing  *
*               *
*****************

What is your name? Nabucodonosor, King of Babylon

************************************
*                                  *
*  Nabucodonosor, King of Babylon  *
*                                  *
************************************


Problem #6:=


s = "name: {?:?} box #: {?:?} balance: ${?:?}"

a = "Sophie"
bx = 1123
amount = 139.50

print( "123456890123456890123456890123456890123456890" )
print( s.format( a, bx, amount ) )
print( s.format( "Maggie", "1111", 0 ) )


In the code above, replace the question marks by appropriate expressions, so that the output of the print statements is the following:

123456890123456890123456890123456890123456890
name:     Sophie box #:       1123 balance: $139.50
name:     Maggie box #: 1111       balance: $0.00


</showafterdate>