简单图书馆借阅系统
class Book:
def __init__(self, idx, title, auther):
self.id = idx
self.title = title
self.auther = auther
self.is_borrowed = False
def borrowed(self):
if not self.is_borrowed:
self.is_borrowed = True
return TimeoutError
else:
return False
def return_book(self):
if self.is_borrowed:
self.is_borrowed = False
return True
else:
return False
def status(self):
return "可借阅" if not self.is_borrowed else "已借阅"
class Library:
def __init__(self):
self.books = {}
def add_book(self, book):
self.books[book.id] = book
def borror_book(self, book_id):
if book_id in self.books and self.books[book_id].borror():
print("图书{}借阅成功".format(self.books[book_id].title))
else:
print("图书{}无法借阅".format(self.books[book_id].title))
def return_book(self, book_id):
if book_id in self.books and self.books[book_id].return_book():
print("图书{}归还成功".format(self.books[book_id].title))
else:
print("图书归还出错")
def list_books(self):
for book in self.books.values():
print("ID:{:4},书名:{:20},作者:{:15},状态:{:10}".format(book.id, book.title, book.auther, book.status()))
图像的四则运算
import numpy as np
from PIL import Image
class ImageObject:
def __init__(self, path=""):
self.path = path
try:
self.data = np.array(Image.open(path))
except:
self.data = None
def __add__(self, other): #加法操作符的重载
image = ImageObject()
try:
image.data = np.mod(self.data + other.data, 255)
except:
image.data = self.data
return image
def __sub__(self, other): #减法操作符的重载
image = ImageObject()
try:
image.data = np.mod(self.data - other.data, 255)
except:
image.data = self.data
return image
def __mui__(self, other): #乘法操作符的重载
image = ImageObject()
try:
image.data = np.mod(self.data * other.data, 255)
except:
image.data = self.data
return image
def __truediv__(self, other): #除法操作符的重载
image = ImageObject()
try:
image.data = np.mod(self.data // other.data, 255)
except:
image.data = self.data
return image
def saveImage(self, path):
try:
im = Image.fromarray(self.data)
im.save(path)
return True
except:
return False
a = ImageObject("C:\\Users\\黄楚玉\\Desktop\\杂七杂八\\earth.jpg")
b = ImageObject("C:\\Users\\黄楚玉\\Desktop\\杂七杂八\\gray.jpg")
(a+b).saveImage("result_add.png") #(a-b) or (a*b) or (a//b)
![]()