Difference between revisions of "CSC231 Powers of 2 in Python"

From dftwiki3
Jump to: navigation, search
(A Python Program that overflows (or not))
(Exercise: A Python Program that loops forever...)
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
  
=Exercise: A Python Program that loops forever...=
+
<br />
 
+
=Exercise: Powers of 2 in Python...=
  
 +
<br />
 
* First do the exercise with C++ mentioned above.
 
* First do the exercise with C++ mentioned above.
 
* Then create the program below, and run it.  It will wait you to press Enter at every loop, so that you can control the speed of the loop.
 
* Then create the program below, and run it.  It will wait you to press Enter at every loop, so that you can control the speed of the loop.
 
* What happens when you reach 2147483648, and press Enter a few times?  How is that different from the C++ approach?  Why?
 
* What happens when you reach 2147483648, and press Enter a few times?  How is that different from the C++ approach?  Why?
+
<br />
 
==The Program==
 
==The Program==
<code><pre>
+
<br />
 +
<source lang="python">
 
# mulby2.py
 
# mulby2.py
 
# D. Thiebaut
 
# D. Thiebaut
Line 44: Line 46:
 
         break
 
         break
  
</pre></code>
+
</source>
 +
 
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
[[Category:CSC231]][[Category:Python]]

Latest revision as of 12:18, 13 November 2014

Back to Weekly Schedule


--D. Thiebaut 13:57, 8 October 2010 (UTC)


This Exercise is a companion to the same exercise implemented in C++.



Exercise: Powers of 2 in Python...


  • First do the exercise with C++ mentioned above.
  • Then create the program below, and run it. It will wait you to press Enter at every loop, so that you can control the speed of the loop.
  • What happens when you reach 2147483648, and press Enter a few times? How is that different from the C++ approach? Why?


The Program


# mulby2.py
# D. Thiebaut
# csc231
# demonstrates how python changes type of
# variable as computation progresses.  Compare 
# this to how a compiled language would react in this
# situation (mulby2.cpp)

x = 0x1
print "starting value of x = ", x

#curType = type( x )
#print "type( x ) = ", type( x )

while ( True ):
    lastx = x
    x = x * 2
    print "x = ", x
    raw_input(  "> " )
    continue

    if type( x )!= type( lastx ):
        print "last x = ", lastx
        print "type( last x ) = ", type( lastx ) 
        print "x = ", x
        print "type( x ) = ", type(x)
        break