Prechádzať zdrojové kódy

Merge branch 'master' of 37.252.12.59:Home/codewars

TelenkovDmitry 1 rok pred
rodič
commit
00e21c4de7
2 zmenil súbory, kde vykonal 116 pridanie a 2 odobranie
  1. 83 0
      books/python/exersice.py
  2. 33 2
      books/python/misc.py

+ 83 - 0
books/python/exersice.py

@@ -0,0 +1,83 @@
+
+class Thing:
+    pass
+
+class Thing2:
+    letters = 'abc'
+
+class Thing3:
+    letters = 'xyz'
+
+class Element:
+    def __init__(self, name, symbol, number) -> None:
+        self.__name = name
+        self.__symbol = symbol
+        self.__number = number
+
+    def get_name(self):
+        return self.__name
+    
+    def get_symbol(self):
+        return self.__symbol
+    
+    def get_number(self):
+        return self.__number
+
+    def __str__(self):
+        return f'Name: {self.__name}, Symbol: {self.__symbol}, Number: {self.__number}'
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    
+class Bear:
+    def eats(self):
+        return 'berries'
+
+class Rabbit:
+    def eats(self):
+        return 'clover'
+
+class Octothorpe:
+    def eats(self):
+        return 'campers'
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+class Laser:
+    def does(self):
+        return 'disintegrate'
+
+class Claw:
+    def does(self):
+        return 'crush'
+    
+class SmartPhone:
+    def does(self):
+        return 'ring'
+    
+class Robot:
+    laser = Laser()
+    claw = Claw()
+    phone = SmartPhone()
+
+    def does(self):
+        print('Laser:', self.laser.does())
+        print('Claw:', self.claw.does())
+        print('SmartPhone:', self.phone.does())
+
+
+def ex1():
+    foo = Thing()
+    # print(Thing)
+    # print(foo)
+    # print(Thing2.letters)
+    # print(Thing3.letters)
+
+    elem1 = Element('Hydrogen', 'H', '1')
+    my_dict = {'name': 'Hydrogen', 'symbol': 'H', 'number': 1}
+    elem2 = Element(my_dict['name'], my_dict['symbol'], my_dict['number'])
+    # elem2.dump()
+    print(elem2)
+
+    robot = Robot()
+    robot.does()
+
+ex1()

+ 33 - 2
books/python/misc.py

@@ -1,6 +1,37 @@
-a = bytes(range(30, 40))
-print(type(2.0 + 3))
+def foo1():
+    a = bytes(range(30, 40))
+    print(type(2.0 + 3))
 
 
 
 
 
 
 
 
+def my_decorator(func):
+    def wrapper(*args, ** kwargs):
+        print('Running function:', func.__name__)
+        print('Positional arguments:', args)
+        print('Keyword arguments:', kwargs)
+        result = func(*args, **kwargs)
+        print('Result:', result)
+        return result
+    return wrapper
+
+@my_decorator
+def add_ints(a, b):
+    return a + b
+
+
+# @my_decorator
+def foo2():
+    print('My function')
+
+# foo3 = my_decorator(foo2)
+# add_ints(1, 2)
+
+def foo3():
+    a = [1, 2, 3] 
+    try:
+        print(a[4])
+    except Exception as e:
+        print("Error:", e)
+
+foo3()