• Keine Ergebnisse gefunden

Python For Fine Programmers

N/A
N/A
Protected

Academic year: 2021

Aktie "Python For Fine Programmers"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Technische Universität München Fakultät für Informatik

Lehrstuhl für Effiziente Algorithmen Sandeep Sadanandan

Sommer Semester 2009 Solution Sheet 1 25. Juni 2010

Python For Fine Programmers

Problem 1 (3 Points)

Write a python program to open a URL. (The program should accept command line arguments).

Problem 2 (3 Points)

Modify the HTML parser to parse an HTML file and use a regular expression to filter out the links in the HTML file. (both in the tags and the text)

Problem 3 (2 Points)

Create an iterator NeverEnding, which is a sequence/collector on which one can call thenextfunction infinite times.

Problem 4 (4 Points)

Write a tracer function/class for recursive functions. The tracer is to be implemented with decorators. The tracer has to keep track of the call and return of the function calls.

Every call of function has to be printed with the given parameter and every return from the function also has to be represented with the return result. The decorator also has to represent the depth of the recursive call by intending the trace-output accordingly.

1 @mtrace (’fib’)

2 def f i b ( n ) :

3 r e t u r n n i f n < 2 e l s e f i b ( n − 1 ) + f i b ( n − 2 )

4

5 @mtrace (’fact’)

6 def f a c t ( n ) :

7 r e t u r n 1 i f n == 0 e l s e n ∗ f a c t ( n−1)

8

9 p r i n t "\n--- Fib(3) ---\n", f i b ( 3 )

10 p r i n t "\n--- Factorial(4) ---\n", f a c t ( 4 )

11 [ sadanand@lxmayr10 @ ~] python goooooooooo . py

12

13−−− F i b ( 3 ) −−−

(2)

14 C a l l [ 1 ] : f i b ( 3 , )

15 C a l l [ 2 ] : f i b ( 2 , )

16 C a l l [ 3 ] : f i b ( 1 , )

17 R e s u l t [ 3 ] : 1

18 C a l l [ 3 ] : f i b ( 0 , )

19 R e s u l t [ 3 ] : 0

20 R e s u l t [ 2 ] : 1

21 C a l l [ 2 ] : f i b ( 1 , )

22 R e s u l t [ 2 ] : 1

23 R e s u l t [ 1 ] : 2

24 2

25

26−−− F a c t o r i a l ( 4 ) −−−

27 C a l l [ 1 ] : f a c t ( 4 , )

28 C a l l [ 2 ] : f a c t ( 3 , )

29 C a l l [ 3 ] : f a c t ( 2 , )

30 C a l l [ 4 ] : f a c t ( 1 , )

31 C a l l [ 5 ] : f a c t ( 0 , )

32 R e s u l t [ 5 ] : 1

33 R e s u l t [ 4 ] : 1

34 R e s u l t [ 3 ] : 2

35 R e s u l t [ 2 ] : 6

36 R e s u l t [ 1 ] : 24

37 24

Problem 5 (4 Points)

Create a class where (without using another class with@classmethod) thegetInstance returns always the same objeck. In essence, the class can have no more than a single instance at any given time. Theidof both the objects is the same in the code below.

1 >>> i f __name__ == "__main__":

2 . . . o b j 1 = S i n g l e O b j e c t s (’object1’)

3 . . . p r i n t id ( o b j 1 ) , o b j 1

4 . . .

5 . . . o b j 2 = S i n g l e O b j e c t s (’object2’)

6 . . . p r i n t id ( o b j 2 ) , o b j 2

7

8 C r e a t i n g o b j e c t 1

9 47685972607376 <__main__ . S i n g l e O b j e c t s o b j e c t a t 0 x2b5ec1754190 >

10

11 C r e a t i n g o b j e c t 2

12 47685972607376 <__main__ . S i n g l e O b j e c t s o b j e c t a t 0 x2b5ec1754190 >

2

Referenzen

ÄHNLICHE DOKUMENTE

Webentwicklung

&lt;td&gt;Diese Zelle steht in der ersten Zeile der Tabelle und erstreckt sich nur über eine Spalte (die 3. Spalte der Tabelle)

Mittlerweile gibt es zwar auch Attribute für solche Zwecke, aber in der Praxis ist es Ihnen überlassen, wie Sie zum Beispiel Verweise so gestalten, dass dem Anwender klar wird, ob

Wenn kein value-Parameter existiert, wird der Text des Eintrages übertragen

Durch die Angabe von margin oder padding ohne Zusatz von top, right, bottom oder left können die Abstände für alle vier Positionen festgelegt werden.. Eine Angabe: für alle

Tipp: Arbeiten Sie

&lt;font size=8&gt; diesen Text in der Größe 8 darstellen. &lt;font color=blue&gt; diesen Text

Ausgehend von der Tatsache, daß wegen mangelnder Unterstützung von HTML 4 und Style Sheets durch die Browser viele Dokumente in HTML 3.2 kodiert werden, können für einfache.