2022-10-02 13:54:54 +03:00
# -*- coding: utf-8 -*-
"""
Created on Sat Oct 1 16 : 50 : 14 2022
@author : mtbbk
"""
import pygame
import time
import random
import json
import math
"""
Qiskit
"""
import numpy as np
# Importing standard Qiskit libraries
from qiskit import QuantumCircuit , execute , transpile , QuantumRegister , ClassicalRegister , QuantumCircuit , execute , Aer , IBMQ
from qiskit . tools . jupyter import *
from qiskit . visualization import *
from ibm_quantum_widgets import *
def rastgele ( ) :
2022-10-02 14:59:49 +03:00
2022-10-02 13:54:54 +03:00
# Loading your IBM Quantum account(s)
print ( ' Libraries imported successfully! ' )
qc = QuantumCircuit ( 1 , 1 )
qc . h ( 0 )
qc . x ( 0 )
qc . measure ( 0 , 0 )
print ( qc )
backend = Aer . get_backend ( ' qasm_simulator ' ) # Choosing the simulator we want to use
job = execute ( qc , backend , shots = 1024 ) # Running the simulator - specifying the circuit we want to simulate and the number of times we want to simulate it (shots)
result = job . result ( )
counts = result . get_counts ( ) # Getting the counts of 0 and 1 from the result
plot_histogram ( counts )
print ( counts )
coundDeger = str ( counts )
coundDeger = coundDeger . replace ( " ' " , " " )
coundDeger = coundDeger . replace ( " , " , " " )
coundDeger = coundDeger . replace ( " } " , " " )
first_word = coundDeger . split ( ) [ 1 ]
print ( " Deger: " , first_word )
print ( coundDeger )
xDeger = coundDeger . split ( ) [ 3 ]
yDeger = coundDeger . split ( ) [ 6 ]
xDegerXE = int ( xDeger )
yDegerYE = int ( yDeger )
valueX = random . randint ( 0 , 512 )
while True :
if valueX % 32 != 0 :
valueX = valueX + 1
else :
break
valueY = random . randint ( 0 , 512 )
while True :
if valueY % 32 != 0 :
valueY = valueY + 1
else :
break
xDegerX = valueX
yDegerY = valueY
Test = 54
while True :
if Test % 32 != 0 :
Test = Test + 1
else :
break
print ( Test )
print ( " DegerX: " , xDegerX )
print ( " DegerY: " , yDegerY )
type ( qc )
"""
Qiskit Bitti / JSON
"""
print ( ' \n Grovers Algorithm ' )
print ( ' ------------------ \n ' )
grid_konumu = 0
brid = [ [ 0 ] * 16 ] * 16
y = xDegerX
x = yDegerY
#mayin = T[x][y]
a = f " { x / / 4 } "
b = f " { y / / 4 } "
a_int = int ( a )
b_int = int ( b )
z = a_int * 4 + b_int
grid_konumu = z
print ( grid_konumu )
pi = math . pi
q = QuantumRegister ( 4 , ' q ' )
c = ClassicalRegister ( 4 , ' c ' )
qc = QuantumCircuit ( q , c )
print ( ' \n Initialising Circuit... \n ' )
### Initialisation ###
qc . h ( q [ 0 ] )
qc . h ( q [ 1 ] )
qc . h ( q [ 2 ] )
qc . h ( q [ 3 ] )
print ( ' \n Preparing Oracle circuit.... \n ' )
### 0000 Oracle ###
if ( grid_konumu == 0 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
### 0001 Oracle ###
if ( grid_konumu == 1 ) :
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
### 0010 Oracle ###
if ( grid_konumu == 2 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
### 0011 Oracle ###
if ( grid_konumu == 3 ) :
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
### 0100 Oracle ###
if ( grid_konumu == 4 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 3 ] )
### 0101 Oracle ###
if ( grid_konumu == 5 ) :
qc . x ( q [ 1 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 3 ] )
### 0110 Oracle ###
if ( grid_konumu == 6 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 3 ] )
### 0111 Oracle ###
if ( grid_konumu == 7 ) :
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 3 ] )
### 1000 Oracle ###
if ( grid_konumu == 8 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
### 1001 Oracle ###
if ( grid_konumu == 9 ) :
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
### 1010 Oracle ###
if ( grid_konumu == 10 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 2 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 2 ] )
### 1011 Oracle ###
if ( grid_konumu == 11 ) :
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 3 ] )
### 1100 Oracle ###
if ( grid_konumu == 12 ) :
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
### 1101 Oracle ###
if ( grid_konumu == 13 ) :
qc . x ( q [ 1 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 1 ] )
print ( " aaaaaaaaaaaaaaaa " )
### 1110 Oracle ###
if ( grid_konumu == 14 ) :
qc . x ( q [ 0 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
###1111 Oracle###
if ( grid_konumu == 15 ) :
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
print ( ' \n Preparing Amplification circuit.... \n ' )
#### Amplification ####
qc . h ( q [ 0 ] )
qc . h ( q [ 1 ] )
qc . h ( q [ 2 ] )
qc . h ( q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . cp ( pi / 4 , q [ 0 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( - pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 1 ] )
qc . cp ( pi / 4 , q [ 1 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 1 ] , q [ 2 ] )
qc . cp ( - pi / 4 , q [ 2 ] , q [ 3 ] )
qc . cx ( q [ 0 ] , q [ 2 ] )
qc . cp ( pi / 4 , q [ 2 ] , q [ 3 ] )
qc . x ( q [ 0 ] )
qc . x ( q [ 1 ] )
qc . x ( q [ 2 ] )
qc . x ( q [ 3 ] )
qc . h ( q [ 0 ] )
qc . h ( q [ 1 ] )
qc . h ( q [ 2 ] )
qc . h ( q [ 3 ] )
### Measurment ###
qc . barrier ( q )
qc . measure ( q [ 0 ] , c [ 0 ] )
qc . measure ( q [ 1 ] , c [ 1 ] )
qc . measure ( q [ 2 ] , c [ 2 ] )
qc . measure ( q [ 3 ] , c [ 3 ] )
backend = Aer . get_backend ( ' qasm_simulator ' )
print ( ' \n Executing job.... \n ' )
job = execute ( qc , backend , shots = 250 )
result = job . result ( )
counts = result . get_counts ( qc )
coundDeger = str ( counts )
coundDeger = coundDeger . replace ( " ' " , " " )
coundDeger = coundDeger . replace ( " { " , " " )
coundDeger = coundDeger . replace ( " : " , " " )
coundDeger = coundDeger . replace ( " , " , " " )
coundDeger = coundDeger . replace ( " } " , " " )
print ( coundDeger )
grids = [ " 0000 " , " 0001 " , " 0010 " , " 0100 " , " 1000 " , " 0011 " , " 0101 " , " 1001 " , " 0110 " , " 1010 " , " 1100 " , " 0111 " , " 1011 " , " 1101 " , " 1110 " , " 1111 " ]
grids_count = [ " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " , " 0 " ]
# Bubble sort in Python
ali = max ( counts , key = lambda x : counts [ x ] )
print ( 20 * " - " )
print ( int ( ali , 2 ) )
print ( 20 * " - " )
print ( max ( counts , key = lambda x : counts [ x ] ) )
print ( 20 * " - " )
print ( ' RESULT: ' , counts , ' \n ' )
print ( ' Press any key to close ' )
buyuk_x = x % 4
buyuk_y = y % 4
q1 = QuantumRegister ( 4 , ' q ' )
c1 = ClassicalRegister ( 4 , ' c ' )
qc1 = QuantumCircuit ( q1 , c1 )
z = ( buyuk_x ) * 4 + buyuk_y
grid_konumu = z
print ( grid_konumu )
qc1 . h ( q1 [ 0 ] )
qc1 . h ( q1 [ 1 ] )
qc1 . h ( q1 [ 2 ] )
qc1 . h ( q1 [ 3 ] )
if ( grid_konumu == 0 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
### 0001 Oracle ###
if ( grid_konumu == 1 ) :
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
### 0010 Oracle ###
if ( grid_konumu == 2 ) :
print ( " AAAAAAAAAAAAAAAAAAAAA " )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
### 0011 Oracle ###
if ( grid_konumu == 3 ) :
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
### 0100 Oracle ###
if ( grid_konumu == 4 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 3 ] )
### 0101 Oracle ###
if ( grid_konumu == 5 ) :
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 3 ] )
### 0110 Oracle ###
if ( grid_konumu == 6 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 3 ] )
### 0111 Oracle ###
if ( grid_konumu == 7 ) :
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 3 ] )
### 1000 Oracle ###
if ( grid_konumu == 8 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
### 1001 Oracle ###
if ( grid_konumu == 9 ) :
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
### 1010 Oracle ###
if ( grid_konumu == 10 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 2 ] )
### 1011 Oracle ###
if ( grid_konumu == 11 ) :
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 3 ] )
### 1100 Oracle ###
if ( grid_konumu == 12 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
### 1101 Oracle ###
if ( grid_konumu == 13 ) :
qc1 . x ( q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 1 ] )
print ( " aaaaaaaaaaaaaaaa " )
### 1110 Oracle ###
if ( grid_konumu == 14 ) :
qc1 . x ( q1 [ 0 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
###1111 Oracle###
if ( grid_konumu == 15 ) :
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
print ( ' \n Preparing Amplification circuit.... \n ' )
#### Amplification ####
qc1 . h ( q1 [ 0 ] )
qc1 . h ( q1 [ 1 ] )
qc1 . h ( q1 [ 2 ] )
qc1 . h ( q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . cp ( pi / 4 , q1 [ 0 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( - pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 1 ] )
qc1 . cp ( pi / 4 , q1 [ 1 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 1 ] , q1 [ 2 ] )
qc1 . cp ( - pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . cx ( q1 [ 0 ] , q1 [ 2 ] )
qc1 . cp ( pi / 4 , q1 [ 2 ] , q1 [ 3 ] )
qc1 . x ( q1 [ 0 ] )
qc1 . x ( q1 [ 1 ] )
qc1 . x ( q1 [ 2 ] )
qc1 . x ( q1 [ 3 ] )
qc1 . h ( q1 [ 0 ] )
qc1 . h ( q1 [ 1 ] )
qc1 . h ( q1 [ 2 ] )
qc1 . h ( q1 [ 3 ] )
### Measurment ###
qc1 . barrier ( q )
qc1 . measure ( q1 [ 0 ] , c [ 0 ] )
qc1 . measure ( q1 [ 1 ] , c [ 1 ] )
qc1 . measure ( q1 [ 2 ] , c [ 2 ] )
qc1 . measure ( q1 [ 3 ] , c [ 3 ] )
backend = Aer . get_backend ( ' qasm_simulator ' )
print ( ' \n Executing job.... \n ' )
job = execute ( qc1 , backend , shots = 250 )
result = job . result ( )
counts = result . get_counts ( qc1 )
mustafa = max ( counts , key = lambda x : counts [ x ] )
print ( 20 * " - " )
print ( int ( mustafa , 2 ) )
print ( 20 * " - " )
gercek_konumy = a_int * 4 + buyuk_x
gercek_konumx = b_int * 4 + buyuk_y
print ( " b_int " , b_int )
print ( " a_int " , a_int )
print ( " buyuk_x " , buyuk_x )
print ( " buyuky " , buyuk_y )
print ( gercek_konumx )
print ( gercek_konumy )
print ( ' RESULT: ' , counts , ' \n ' )
dictionary = {
" minescanner " : " mineware " ,
" degerx " : xDegerX ,
" degery " : yDegerY ,
" phonenumber " : " 9976770500 "
}
json_object = json . dumps ( dictionary , indent = 4 )
with open ( " sample.json " , " w " ) as outfile :
outfile . write ( json_object )
"""
JSON Bitti
"""
pygame . init ( )
2022-10-02 14:59:49 +03:00
img = pygame . image . load ( ' sankey.jpg ' )
pygame . display . set_icon ( img )
2022-10-02 13:54:54 +03:00
white = ( 255 , 255 , 255 )
gray = ( 208 , 209 , 217 )
yellow = ( 255 , 255 , 102 )
black = ( 0 , 0 , 0 )
red = ( 213 , 50 , 80 )
green = ( 0 , 255 , 0 )
blue = ( 50 , 153 , 213 )
dis_width = 512
dis_height = 512
rows = 16
w = 512
dis = pygame . display . set_mode ( ( dis_width , dis_height ) )
pygame . display . set_caption ( ' Quantum Minesweeper ' )
clock = pygame . time . Clock ( )
pygame . init ( )
2022-10-02 14:59:49 +03:00
2022-10-02 13:54:54 +03:00
dis = pygame . display . set_mode ( ( dis_width , dis_height ) )
snake_block = 32
snake_speed = 10
font_style = pygame . font . SysFont ( " bahnschrift " , 25 )
score_font = pygame . font . SysFont ( " comicsansms " , 35 )
def Your_score ( score ) :
valuex = score_font . render ( " DegerX: " + str ( xDegerX ) , True , white )
valuey = score_font . render ( " DegerY: " + str ( yDegerY ) , True , white )
dis . blit ( valuex , [ 300 , 0 ] )
dis . blit ( valuey , [ 300 , 32 ] )
def our_snake ( snake_block , snake_list ) :
for x in snake_list :
2022-10-02 14:59:49 +03:00
pygame . draw . rect ( dis , green , [ x [ 0 ] , x [ 1 ] , snake_block , snake_block ] )
2022-10-02 13:54:54 +03:00
def message ( msg , color ) :
mesg = font_style . render ( msg , True , color )
dis . blit ( mesg , [ 10 , dis_height / 16 ] )
def gameLoop ( ) :
game_over = False
game_close = False
x1 = dis_width / 2
y1 = 128
x1_change = 0
y1_change = 0
xgit = gercek_konumx / 32
print ( xgit )
snake_List = [ ]
Length_of_snake = 1
foodx = round ( ( xDegerX - snake_block ) / 160.0 ) * 160.0
foody = round ( ( yDegerY - snake_block ) / 160.0 ) * 160.0
2022-10-02 14:59:49 +03:00
foodx1 = round ( ( xDegerX - snake_block ) / 160.0 ) * 160.0
foody1 = round ( ( yDegerY - snake_block ) / 160.0 ) * 160.0
2022-10-02 13:54:54 +03:00
while not game_over :
while game_close == True :
message ( " Mission Completed! " , red )
#Your_score(Length_of_snake - 1)
pygame . display . update ( )
for event in pygame . event . get ( ) :
if event . type == pygame . KEYDOWN :
if event . key == pygame . K_q :
game_over = True
game_close = False
if event . key == pygame . K_r :
rastgele ( )
for event in pygame . event . get ( ) :
if event . type == pygame . QUIT :
game_over = True
if event . type == pygame . KEYDOWN :
if event . key == pygame . K_LEFT :
x1_change = - snake_block
y1_change = 0
elif event . key == pygame . K_RIGHT :
x1_change = snake_block
y1_change = 0
elif event . key == pygame . K_UP :
y1_change = - snake_block
x1_change = 0
elif event . key == pygame . K_DOWN :
y1_change = snake_block
x1_change = 0
#if x1 >= dis_width or x1 < 0 or y1 >= dis_height or y1 < 0:
# game_close = True
2022-10-02 14:59:49 +03:00
x1 = x1 + x1_change
y1 = y1 + y1_change
arac = 0
2022-10-02 13:54:54 +03:00
2022-10-02 14:59:49 +03:00
if gercek_konumx < x1 and arac == 0 :
2022-10-02 13:54:54 +03:00
x1_change = - snake_block
print ( " SOL " )
2022-10-02 14:59:49 +03:00
elif gercek_konumx > x1 and arac == 0 :
2022-10-02 13:54:54 +03:00
x1_change = snake_block
print ( " SAĞ " )
2022-10-02 14:59:49 +03:00
else :
arac = 1
if gercek_konumy < y1 and arac == 1 :
2022-10-02 13:54:54 +03:00
y1_change = - snake_block
print ( " AŞAĞI " )
2022-10-02 14:59:49 +03:00
elif gercek_konumy > y1 and arac == 1 :
2022-10-02 13:54:54 +03:00
y1_change = snake_block
print ( " YUKARI " )
2022-10-02 14:59:49 +03:00
2022-10-02 13:54:54 +03:00
print ( " XXXX " , x1 )
print ( " YYYY " , y1 )
print ( " GERÇEK-X " , gercek_konumx )
print ( " GERÇEK-Y " , gercek_konumy )
dis . fill ( black )
sizeBtwn = w / / rows
sizeBtwna = w / / rows * 4
x = 0
y = 0
xa = 0
ya = 0
for l in range ( rows - 1 ) :
pygame . draw . rect ( dis , red , ( 1 , 0 , 1 , 512 ) )
pygame . draw . rect ( dis , red , ( 128 , 0 , 1 , 512 ) )
pygame . draw . rect ( dis , red , ( 256 , 0 , 1 , 512 ) )
pygame . draw . rect ( dis , red , ( 384 , 0 , 1 , 512 ) )
pygame . draw . rect ( dis , red , ( 511 , 0 , 1 , 512 ) )
pygame . draw . rect ( dis , red , ( 0 , 1 , 512 , 1 ) )
pygame . draw . rect ( dis , red , ( 0 , 128 , 512 , 1 ) )
pygame . draw . rect ( dis , red , ( 0 , 256 , 512 , 1 ) )
pygame . draw . rect ( dis , red , ( 0 , 384 , 512 , 1 ) )
pygame . draw . rect ( dis , red , ( 0 , 511 , 512 , 1 ) )
x = x + sizeBtwn
y = y + sizeBtwn
xa = xa + sizeBtwna
ya = ya + sizeBtwna
pygame . draw . line ( dis , ( gray ) , ( x , 0 ) , ( x , w ) )
pygame . draw . line ( dis , ( gray ) , ( 0 , y ) , ( w , y ) )
pygame . draw . line ( dis , ( 213 , 50 , 80 ) , ( xa , 0 ) , ( xa , w ) )
pygame . draw . line ( dis , ( 213 , 50 , 80 ) , ( 0 , ya ) , ( w , ya ) )
2022-10-02 14:59:49 +03:00
pygame . draw . rect ( dis , red , [ foodx , foody , snake_block , snake_block ] )
2022-10-02 13:54:54 +03:00
snake_Head = [ ]
snake_Head . append ( x1 )
snake_Head . append ( y1 )
snake_List . append ( snake_Head )
if len ( snake_List ) > Length_of_snake :
del snake_List [ 0 ]
for x in snake_List [ : - 1 ] :
if x == snake_Head :
game_close = True
our_snake ( snake_block , snake_List )
Your_score ( Length_of_snake - 1 )
pygame . display . update ( )
if x1 == foodx and y1 == foody :
foodx = round ( ( xDegerX - snake_block ) / 160.0 ) * 160.0
foody = round ( ( yDegerY - snake_block ) / 160.0 ) * 160.0
Length_of_snake + = 1
2022-10-02 14:59:49 +03:00
pygame . draw . rect ( dis , blue , [ foodx1 , foody1 , snake_block , snake_block ] )
2022-10-02 13:54:54 +03:00
xgel = foodx + 100
if pygame . key . get_pressed ( ) [ pygame . K_a ] :
x1_change = - xgit
y1_change = 0
if pygame . key . get_pressed ( ) [ pygame . K_s ] :
y1_change = xgit
x1_change = 0
if pygame . key . get_pressed ( ) [ pygame . K_w ] :
y1_change = - xgit
x1_change = 0
if x1 == foodx :
print ( " X " )
x1_change = 0
if y1 == foody :
print ( " Y " )
y1_change = 0
clock . tick ( snake_speed )
pygame . quit ( )
quit ( )
gameLoop ( )
2022-10-02 14:59:49 +03:00
rastgele ( )