TI/Skrypty z zajęć/k8a
Z Brain-wiki
# -*- coding: utf-8 -*-
"""
Created on Wed Jun 3 12:16:05 2020
@author: Tomek
"""
def inv(x):
try:
value = 1/x
return value
except (ZeroDivisionError,TypeError):
print('podaj liczbe rozna od zera !!!!')
return 0
# finally:
# print('oo')
class ArgumentCiaguError(Exception):
pass
class CiagArytmetyczny():
def __init__(self, a1, r):
self.__a1 = float(a1)
self.__r = float(r)
def __get_a1__(self):
return self.__a1
def __get_r__(self):
return self.__r
def __set_a1__(self, a1):
self.__a1 = float(a1)
def __set_r__(self, r):
self.__r = float(r)
a1 = property(__get_a1__,__set_a1__)
r = property(__get_r__,__set_r__)
def __getitem__(self,n):
if isinstance(n,int):
if n < 1: raise ArgumentCiaguError('tylko naturalne bez zera')
return self.__a1 + (n-1)*self.__r
raise TypeError
def __add__(self, other):
return CiagArytmetyczny(self.a1 + other.a1, self.r + other.r)
def __str__(self):
return 'CiagArytmetyczny a1 = '+str(self.__a1)+' r = '+str(self.__r)
def __repr__(self):
return str(self)
z = CiagArytmetyczny(1,1)
x = CiagArytmetyczny(100,1)
for n in range(-10,11):
try:
print(z[n])
except ArgumentCiaguError:
pass #print('zly argument')