~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to exercises/sample/fib.xml

  • Committer: matt.giuca
  • Date: 2009-01-14 10:10:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:branches%2Fstorm:1132
The new ivle.database.User class is now used in Request and usrmgt, which
    means it is now almost universally used in favour of ivle.user.User (now
    deprecated).

Noticeable change: The minor bug where the change to a user object in the
    database is not reflected in the user's session (eg. changing nick doesn't
    update title until log out).

ivle.dispatch:
    Session now contains 'login' (username string) rather than 'user' (full
        ivle.user.User object). This is a unicode string now.

    req.user is now a ivle.database.User object rather than an ivle.user.User
        object. This makes for a whole lot of really subtle differences, but
        largely conforms to the same interface. Note that strings must now all
        be unicode.

    login: Removed use of ivle.db. Now uses User object.

    html: Now handles unicode login and config options.

ivle.db: Removed update_user. Now replaced with Storm model.

ivle.database: Renamed has_cap back to hasCap (saved for later). Fixed small
    unicode bug.

ivle.makeuser.make_svn_auth now takes a store object.

usrmgt-server: Use new User class.

userservice: Now uses User class internally.
    get_user action now returns ISO 8601 date format, rather than a
        time tuple. (Wasn't being used).
    get_user action no longer transmits local_password (small security risk;
        note that it wasn't possible to see this for any user other than
        yourself unless admin).

ivle.util - added function object_to_dict.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<exercise name = "Fibonacci numbers">
 
2
    <desc>Write a function <code>fib(n)</code> which returns the nth fibonacci
 
3
        number.</desc>
 
4
    <partial>
 
5
<![CDATA[
 
6
def fib(n):
 
7
  # Write your function here.
 
8
]]>
 
9
    </partial>
 
10
    <solution>
 
11
<![CDATA[
 
12
def fib(n):
 
13
  import numpy
 
14
  return int((numpy.matrix([[0, 1], [1, 1]], dtype='object')**(n-1))[1,1])
 
15
]]>
 
16
    </solution>
 
17
    <case name="Low n" function="fib">
 
18
        <arg value="10" />
 
19
        <function desc="Match">int</function>
 
20
    </case>
 
21
    <case name="First number" function="fib">
 
22
        <arg value="1" />
 
23
        <function desc="Match">int</function>
 
24
    </case>
 
25
    <case name="Zeroth number" function="fib">
 
26
         <file name="patch.py">
 
27
<![CDATA[
 
28
fib_zero = 0 
 
29
]]>
 
30
        </file>
 
31
        <arg value="0" />
 
32
        <function desc="Match">int</function>
 
33
    </case>
 
34
    <case name="High number" function="fib">
 
35
        <arg value="30" />
 
36
        <function desc="Match">int</function>
 
37
    </case>
 
38
    <case name="Very high number" function="fib">
 
39
        <arg value="1000" />
 
40
        <function desc="Match">int</function>
 
41
    </case>
 
42
</exercise>
 
43