コード例 #1
0
class TransactionQueue:
    def __init__(self):
        """
        Reading old transaction from transaction json file and maintain in queue
        """
        self.queue = Queue()
        with open("Transaction_queue.json") as data:
            try:
                temp = json.load(data)
            except Exception:
                pass
            else:
                for i in temp:
                    self.queue.enqueue(i)

    def transaction_queue(self, transaction, customer_name, company_name,
                          no_of_share, cost, time):
        """
        Taking all data about stock account transaction and maintain in queue
        :param transaction: it is transaction like sell or buy
        :param customer_name: it is customer name
        :param company_name: it is company name
        :param no_of_share: it is no of share
        :param cost: total cost of share
        :param time: it is time of transaction
        """
        new_transaction = {
            "transaction": transaction,
            "customer_name": customer_name,
            "company_name": company_name,
            "no_of_share": no_of_share,
            "cost": cost,
            "time": time
        }
        self.queue.enqueue(new_transaction)

    def save_transaction(self):
        """
        update transaction json file by queue
        """
        temp1 = []
        size = self.queue.size()
        for i in range(size):
            temp1.append(self.queue.dequeue())
        with open("Transaction_queue.json", 'w') as data:
            json.dump(temp1, data)
class PrimeAnagramWithQueue:
    def __init__(self):
        """
        Creating object of queue for maintain and store data
        """
        self.queue = Queue()

    def prime_anagram_with_queue(self, rng):
        """
        :param rng: take one parameter range for calculating prime anagram from 1 to range
        print prime anagram number on console
        """
        prime_number = Utility.get_prime_number(rng)
        anagram_number = Utility.get_anagram(prime_number)
        for i in anagram_number:
            self.queue.enqueue(i)
        for i in range(self.queue.size()):
            print(self.queue.dequeue(), end=" ")