From 52fdba36deab115a8add3ab3b1e24ce837ec36ef Mon Sep 17 00:00:00 2001 From: Mari Wahl Date: Sat, 3 Jan 2015 19:33:07 -0500 Subject: [PATCH] some simple examples --- .../basic_examples/example_args.py | 28 +++++++++++++ ...ator.py => example_benchmark_decorator.py} | 0 .../basic_examples/example_queue.py | 11 ++++++ .../{socket_example.py => example_socket.py} | 0 ...ing_format.py => example_string_format.py} | 0 .../{telnet_example.txt => example_telnet.py} | 0 ...testing_examples.py => example_testing.py} | 0 .../bitwise/bitwise.txt | 4 +- .../bitwise/swap_in_place.py | 19 +++++++++ .../design/example_decorator.py | 39 +++++++++++++++++++ 10 files changed, 99 insertions(+), 2 deletions(-) create mode 100755 src/extra_interview_problems/basic_examples/example_args.py rename src/extra_interview_problems/basic_examples/{benchmark_decorator.py => example_benchmark_decorator.py} (100%) create mode 100755 src/extra_interview_problems/basic_examples/example_queue.py rename src/extra_interview_problems/basic_examples/{socket_example.py => example_socket.py} (100%) rename src/extra_interview_problems/basic_examples/{string_format.py => example_string_format.py} (100%) rename src/extra_interview_problems/basic_examples/{telnet_example.txt => example_telnet.py} (100%) rename src/extra_interview_problems/basic_examples/{testing_examples.py => example_testing.py} (100%) create mode 100755 src/extra_interview_problems/bitwise/swap_in_place.py create mode 100755 src/extra_interview_problems/design/example_decorator.py diff --git a/src/extra_interview_problems/basic_examples/example_args.py b/src/extra_interview_problems/basic_examples/example_args.py new file mode 100755 index 0000000..e6e70c1 --- /dev/null +++ b/src/extra_interview_problems/basic_examples/example_args.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +def simple2(a, *args): + print args + +def simple(*args): + print args + +def simple3(**kwargs): + print kwargs + + +simple(1, 2, 3) +simple2(1, 2, 3) +simple3(x=1, y=2) + + +def logger(func): + def inner(*args): #1 + print "Arguments were: {0}".format(args) + return func(*args) + return inner + +@logger +def foo(x, y): + return x+y + +print foo(1, 2) \ No newline at end of file diff --git a/src/extra_interview_problems/basic_examples/benchmark_decorator.py b/src/extra_interview_problems/basic_examples/example_benchmark_decorator.py similarity index 100% rename from src/extra_interview_problems/basic_examples/benchmark_decorator.py rename to src/extra_interview_problems/basic_examples/example_benchmark_decorator.py diff --git a/src/extra_interview_problems/basic_examples/example_queue.py b/src/extra_interview_problems/basic_examples/example_queue.py new file mode 100755 index 0000000..2df713b --- /dev/null +++ b/src/extra_interview_problems/basic_examples/example_queue.py @@ -0,0 +1,11 @@ +#!/usr/bin/python + +import Queue + +q = Queue.Queue() + +for i in range(10): + q.put(i) + +for i in range(10): + print q.get(i) diff --git a/src/extra_interview_problems/basic_examples/socket_example.py b/src/extra_interview_problems/basic_examples/example_socket.py similarity index 100% rename from src/extra_interview_problems/basic_examples/socket_example.py rename to src/extra_interview_problems/basic_examples/example_socket.py diff --git a/src/extra_interview_problems/basic_examples/string_format.py b/src/extra_interview_problems/basic_examples/example_string_format.py similarity index 100% rename from src/extra_interview_problems/basic_examples/string_format.py rename to src/extra_interview_problems/basic_examples/example_string_format.py diff --git a/src/extra_interview_problems/basic_examples/telnet_example.txt b/src/extra_interview_problems/basic_examples/example_telnet.py similarity index 100% rename from src/extra_interview_problems/basic_examples/telnet_example.txt rename to src/extra_interview_problems/basic_examples/example_telnet.py diff --git a/src/extra_interview_problems/basic_examples/testing_examples.py b/src/extra_interview_problems/basic_examples/example_testing.py similarity index 100% rename from src/extra_interview_problems/basic_examples/testing_examples.py rename to src/extra_interview_problems/basic_examples/example_testing.py diff --git a/src/extra_interview_problems/bitwise/bitwise.txt b/src/extra_interview_problems/bitwise/bitwise.txt index cd86dc6..f55d9d1 100755 --- a/src/extra_interview_problems/bitwise/bitwise.txt +++ b/src/extra_interview_problems/bitwise/bitwise.txt @@ -1,4 +1,4 @@ - BITWISE + BIT-WISE ---------------------- 1. To find a number: @@ -30,4 +30,4 @@ 6. Is power of 2? just do x&(x-1). - if 0 --> yes! + if 0 --> yes! diff --git a/src/extra_interview_problems/bitwise/swap_in_place.py b/src/extra_interview_problems/bitwise/swap_in_place.py new file mode 100755 index 0000000..d9a3e60 --- /dev/null +++ b/src/extra_interview_problems/bitwise/swap_in_place.py @@ -0,0 +1,19 @@ +#!/usr/bin/python + +''' + swapping values in place without extra memory +''' + + +def swap_bit(a, b): + a = a^b + b = a^b + a = a^b + return a, b + + +if __name__ == '__main__': + a = 14 + b = 73 + a2, b2 = swap_bit(a, b) + print "a was {0}, now it is {1}. \nb was {2}, now it is {3}".format(a, a2, b, b2) diff --git a/src/extra_interview_problems/design/example_decorator.py b/src/extra_interview_problems/design/example_decorator.py new file mode 100755 index 0000000..ee41f01 --- /dev/null +++ b/src/extra_interview_problems/design/example_decorator.py @@ -0,0 +1,39 @@ +#!/usr/bin/python + + +# testing generator + +def interate(x): + for i in range(x): + yield i + +a = interate(10) + +print a.next() +print a.next() +print a.next() + +# testing decorator + +def sum(func): + s = 0 + for i in func(): + s += i + return s + +@sum +def interate(): + a = [] + for i in range(10): + a.append(i) + return a + +print interate + +def interate(): + a = [] + for i in range(10): + a.append(i) + return a + +print sum(interate)