Q#-programok beküldése a Visual Studio Code-tal
Megtudhatja, hogyan hozhat létre és küldhet be Q#-programokat valós kvantumhardverekbe a Visual Studio Code használatával. Kvantum-számítási feladatokat küldhet az Azure Quantum-nak önálló Q#-programként, kombinálhatja a Q#-t a Pythonnal egy Q#-projektben, és futtathat egy Jupyter Notebookot.
Fontos
2025. június 1-je után már nem használhatja Azure Quantum Credits. Ha az Azure Quantum-kreditek fennmaradó egyenlege van, mindenképpen beváltsa ezeket a dátum előtt.
Q#-feladatok beküldése az Azure Quantumba
Megtudhatja, hogyan használhatja a VS Code-ot Q#-programok futtatására, hibakeresésére és elküldésére az Azure Quantumban.
Előfeltételek
A telepítés részleteiért lásd: QDK-bővítmény beállítása.
- Azure Quantum-munkaterület az Azure-előfizetésben. Munkaterület létrehozásához lásd : Azure Quantum-munkaterület létrehozása.
- A Visual Studio Code legújabb verziója, vagy nyissa meg a VS Code-ot a weben.
- Az Azure Quantum Development Kit bővítmény legújabb verziója.
Q#-mintaprogram betöltése
A VS Code-ban válassza az Új szövegfájl fájlja > lehetőséget, és mentse a fájlt RandomNum.qs formátumban.
Nyissa meg a RandomNum.qs fájlt, és írja be
sample
, majd válassza ki a Véletlenszerű bit mintát a lehetőségek listájából, és mentse a fájlt.
Feljegyzés
Saját Q#-fájlt is megnyithat. Ha egy régebbi Q#-programot futtat, és hibákba ütközik, olvassa el a Tesztelés és a hibakeresés című témakört.
Q#-program futtatása
Ha helyileg szeretné tesztelni a programot a beépített szimulátoron, kattintson a Futtatás gombra a belépési pont művelet melletti parancsok listájából, vagy nyomja le a Ctrl+F5 billentyűkombinációt. A kimenet megjelenik a hibakeresési konzolon.
A program hibakereséséhez, mielőtt elküldené az Azure Quantumba, kattintson a Hibakeresés gombra a belépési pont művelet melletti parancsok listájából, vagy nyomja le az F5 billentyűt. A felül található hibakeresési vezérlőkkel lépkedhet át, léphet be és léphet ki a kódból. További információ a Q#-programok hibakereséséről: Tesztelés és hibakeresés.
A gyakoriság hisztogramjának megjelenítése
A frekvencia hisztogram a kvantumprogram többszöri futtatásából vagy "lövésekből" nyert eredmények eloszlását jelöli. A hisztogram minden sávja egy lehetséges eredménynek felel meg, magassága pedig az eredmény megfigyelésének hányszorosát jelöli. A gyakorisági hisztogram segít ezeknek az eredményeknek a valószínűségi eloszlásának megjelenítésében.
Válassza a Nézet –> Parancskatalógus lehetőséget, és írja be a "hisztogramot", amely a Q#: Fájl futtatása és a hisztogram megjelenítése lehetőséget jeleníti meg. A hisztogramra a belépési pont művelet melletti parancsok listájából is kattinthat. Ezzel a beállítással megnyithatja a Q# hisztogramablakot.
Adjon meg több lövést a program végrehajtásához, például 100 lövést, és nyomja le az Enter billentyűt. A hisztogram megjelenik a Q# hisztogram ablakban.
A beállítások megjelenítéséhez kattintson a bal felső beállítások ikonra .
Kattintson egy sávra az eredmény százalékos arányának megjelenítéséhez. Ebben az esetben két lehetséges eredmény létezik: 0 és 1, és az egyes eredmények százalékos aránya közel 50%.
Tipp.
A hisztogramot az egér görgetőkerekével vagy egy trackpad-kézmozdulattal nagyíthatja. Nagyításkor görgetés közben az "Alt" billentyű lenyomásával pásztázhatja a diagramot.
A kvantum-kapcsolatcsoport vizualizációja
A kvantum-kapcsolatcsoportok diagramjai a kvantumműveletek vizuális ábrázolása. A qubitek kvantumprogramon keresztüli áramlását mutatják, beleértve a kapukat és a rajtuk alkalmazott méréseket is. További információt a Visual Studio Code kvantum-kapcsolatcsoport-diagramjaiban talál.
Válassza a Nézet –> Parancskatalógus lehetőséget, és írja be a "kapcsolatcsoport" kifejezést, amely a Q#: Kapcsolatcsoport megjelenítése lehetőséget jeleníti meg. A kapcsolatcsoportra a belépési pont művelet melletti parancsok listájából is kattinthat.
A kapcsolatcsoport megjelenik a Q#-kapcsolatcsoport ablakában. A kapcsolatcsoportdiagram egy qubitregisztrációs adatbázist mutat be, amelyet a rendszer a(z) |0⟩ állapotba inicializált. Ezután egy H hadamard kaput alkalmazunk a qubitre, majd egy mérési művelettel, amelyet egy mérőszimbólum jelöl. További információ: Kvantum-kapcsolatcsoportok konvenciók.
Csatlakozzon az Azure Quantumhoz, és küldje el a feladatát
A feladatokat közvetlenül a VS Code-ból csatlakoztathatja és küldheti el. Ebben a példában egy feladatot fog elküldeni a Rigetti-szimulátornak.
Válassza a Nézet –> Parancskatalógus lehetőséget, és írja be a Q#: Csatlakozás Azure Quantum-munkaterülethez. Nyomja le az Enter billentyűt.
Válassza ki az Azure-fiókot, és kövesse az utasításokat az előnyben részesített címtárhoz, előfizetéshez és munkaterülethez való csatlakozáshoz.
Feljegyzés
Ha rendelkezik kapcsolati sztring, kiválaszthatja a kapcsolati sztringet, és beillesztheti az Azure Quantum-munkaterületnek megfelelő kapcsolati sztring. További információ: Csatlakozás kvantum-munkaterülethez egy kapcsolati sztring használatával.
Miután csatlakozott, az Explorer panelen bontsa ki a Kvantum-munkaterületeket.
Bontsa ki a munkaterületet, és bontsa ki a Rigetti-szolgáltatót .
Feljegyzés
Ha probléma merül fel az Azure Quantumhoz való csatlakozáskor, a munkaterület neve mellett megjelenik egy figyelmeztető ikon. Mutasson a munkaterület nevére a hibainformációk megjelenítéséhez.
Válassza ki a rigetti.sim.qvm elemet.target
A név jobb oldalán target található lejátszás ikont választva megkezdheti az aktuális Q#-program beküldését. Ha megjelenik egy előugró ablak, válassza a QIR-profil target módosítása és a folytatás lehetőséget.
Adjon hozzá egy nevet a feladat azonosításához.
Adja hozzá a lövések számát vagy a program futtatásának számát.
Nyomja le az Enter billentyűt a feladat elküldéséhez. A feladat állapota a képernyő alján jelenik meg.
Bontsa ki a Feladatok elemet, és vigye az egérmutatót a feladat fölé, amely megjeleníti a feladat idejét és állapotát.
Az eredmények megtekintéséhez válassza a feladat neve melletti felhőikont, hogy letöltse az eredményeket a munkaterület tárolójából, és megjelenítse azt a VS Code-ban.
Jupyter Notebooks-feladatok beküldése az Azure Quantumba
Megtudhatja, hogyan használhatja a VS Code-ot Q# Jupyter-notebook futtatására, hibakeresésére és elküldésére az Azure Quantumba. A cikkben szereplő lépések a helyi Jupyter-kiszolgálón vagy az Azure Quantum Portalon található jegyzetfüzeteken található Jupyter-notebookokra is érvényesek.
Előfeltételek
A telepítés részleteiért lásd: QDK-bővítmény beállítása.
Azure Quantum-munkaterület az Azure-előfizetésben. Munkaterület létrehozásához lásd : Azure Quantum-munkaterület létrehozása.
Python-környezet, amelyen telepítve van a Python és a Pip .
VS Code az Azure Quantum Development Kit, Python és Jupyter bővítményekkel.
Az Azure Quantum
qsharp
,qsharp-widgets
ésazure-quantum
a csomagok, valamint aipykernel
csomag.python -m pip install --upgrade qsharp qsharp-widgets azure-quantum ipykernel
A program futtatása és tesztelése a helyi szimulátorban
A VS Code-ban válassza a > megtekintése lehetőséget, majd a Létrehozás: Új Jupyter-jegyzetfüzet lehetőséget.
A jobb felső sarokban a VS Code észleli és megjeleníti a Python verzióját és a jegyzetfüzethez kiválasztott virtuális Python-környezetet. Ha több Python-környezettel rendelkezik, előfordulhat, hogy ki kell választania egy kernelt a jobb felső sarokban található kernelválasztóval. Ha nem észlelt környezetet, a beállítási információkért tekintse meg a VS Code Jupyter-jegyzetfüzeteit.
A jegyzetfüzet első cellájában futtassa a következő Python-kódot a szükséges modulok importálásához:
import qsharp import azure.quantum
- A
qsharp
modul aktiválja a%%qsharp
mágikus parancsot, amely lehetővé teszi, hogy Q#-kódot írjon be közvetlenül egy cellába. - A
azure-quantum
modul kapcsolatot biztosít az Azure Quantum-munkaterülethez.
Feljegyzés
Ha a Jupyter Python-kernel
ipykernel
nem észlelhető, a VS Code kérni fogja a telepítést.- A
Adjon hozzá egy másik cellát, és adja meg ezt a Q#-kódot, amely felhasználó által megadott számú véletlenszerű bitet ad vissza:
Feljegyzés
Figyelje meg, hogy amint beírja a magic parancsot
%%qsharp
, a jegyzetfüzet cellája Pythonról Q#-ra változik.%%qsharp operation Random() : Result { use q = Qubit(); H(q); let result = M(q); Reset(q); return result } operation RandomNBits(N: Int): Result[] { mutable results = []; for i in 0 .. N - 1 { let r = Random(); results += [r]; } return results }
A művelet teszteléséhez használhatja a
eval
metódust, amely meghívhatja a jegyzetfüzetben korábban definiált bármely Q#-műveletet:qsharp.eval("RandomNBits(4)")
[Zero, One, One, Zero]
A program helyi szimulátoron való futtatásához használja a metódust
run
. Adja meg,shots
hogy hány alkalommal futtassa a programot, és a szimulátor Python-listaként adja vissza az eredményeket.qsharp.run("RandomNBits(4)", shots=10)
[[One, One, One, One], [Zero, Zero, One, Zero], [One, Zero, Zero, One], [Zero, One, Zero, Zero], [One, Zero, One, One], [One, Zero, One, Zero], [One, One, One, Zero], [One, One, One, One], [Zero, Zero, Zero, One], [One, Zero, Zero, One]]
A kvantum-kapcsolatcsoport vizualizációja
A csomag használatával kvantum áramköröket jeleníthet meg qsharp-widgets
. Ez a csomag egy widgetet biztosít, amely SVG-képként jeleníti meg a kvantumkörök diagramjait. További információ: Quantum circuit diagramok Jupyter Notebookokkal.
Adja hozzá a következő kódot egy új cellához a kapcsolatcsoport megjelenítéséhez:
from qsharp_widgets import Circuit
Circuit(qsharp.circuit("RandomNBits(4)"))
További információ: Kvantum-kapcsolatcsoportok konvenciók.
A feladat fordítása az Alapprofil használatával
Amikor programokat futtat a helyi kvantumszimulátoron, bármilyen Q#-programot elküldhet. Az Azure Quantum hardvere targets azonban még nem támogatja az összes Q#-program futtatásához szükséges összes képességet. A Q#-programok Azure Quantumba való fordításához és elküldéséhez be kell állítania a target profilját, hogy meg tudja mondani a Q#-nak, hogy mely képességeket támogatja a target hardver. Jelenleg ez az alapprofil. További információ: Profiltípusok az Azure Quantumban.
A Q#-értelmező újraincializálása és a program fordítása az alapprofillal:
A profil beállításához használja a
init
következő módszert:qsharp.init(target_profile=qsharp.TargetProfile.Base)
Mivel újraincializálta az értelmezőt, újra kell futtatnia a kódot az új profillal:
%%qsharp operation Random() : Result { use q = Qubit(); H(q); let result = M(q); Reset(q); return result } operation RandomNBits(N: Int): Result[] { mutable results = []; for i in 0 .. N - 1 { let r = Random(); results += [r]; } return results }
Ezután a
compile
metódussal adja meg azt a műveletet vagy függvényt, amely a program belépési pontja. Ez QIR formátumban fordítja le a kódot, amely ezután bármely kvantumhardverhez elküldhető:MyProgram = qsharp.compile("RandomNBits(4)")
Csatlakozzon az Azure Quantumhoz, és küldje el a feladatát
Most, hogy a program a megfelelő formátumban lett lefordítva, hozzon létre egy azure.quantum.Workspace
objektumot az Azure Quantumhoz való csatlakozáshoz. A csatlakozáshoz az Azure Quantum-munkaterület erőforrás-azonosítóját fogja használni. Az erőforrás-azonosítót és a helyet átmásolhatja a munkaterület áttekintő oldaláról az Azure Portalon.
Egy új cellában adja meg az erőforrás-azonosítót és a helyet az Azure Quantum-munkaterületről:
MyWorkspace = azure.quantum.Workspace( resource_id = "MyResourceID", location = "MyLocation" )
get_targets
A módszerrel megtekintheti a munkaterületen elérhető hardverekettargets:MyTargets = MyWorkspace.get_targets() print("This workspace's targets:") MyTargets
Válassza a következőt
rigetti.sim.qvm
target:MyTarget = MyWorkspace.get_targets("rigetti.sim.qvm")
Végül a metódussal küldje el a
submit
programot a paramétereivel, és jelenítse meg az eredményeket:job = MyTarget.submit(MyProgram, "MyQuantumJob", shots=100) job.get_results()
{'[0, 1, 1, 1]': 0.08, '[1, 1, 0, 0]': 0.1, '[0, 0, 1, 0]': 0.04, '[0, 1, 0, 0]': 0.05, '[1, 0, 1, 0]': 0.05, '[1, 0, 0, 0]': 0.07, '[0, 1, 0, 1]': 0.07, '[1, 0, 1, 1]': 0.07, '[0, 0, 0, 0]': 0.08, '[1, 1, 1, 0]': 0.05, '[0, 0, 0, 1]': 0.1, '[0, 0, 1, 1]': 0.04, '[0, 1, 1, 0]': 0.09, '[1, 0, 0, 1]': 0.04, '[1, 1, 1, 1]': 0.05, '[1, 1, 0, 1]': 0.02}
A feladat minden tulajdonsága elérhető
job.details
, például:print(job.details) print("\nJob name:", job.details.name) print("Job status:", job.details.status) print("Job ID:", job.details.id)
{'additional_properties': {'isCancelling': False}, 'id': '0150202e-9638-11ee-be2f-b16153380354', 'name': 'MyQuantumJob', 'provider_id': 'rigetti'...} Job name: MyQuantumJob Job status: Succeeded Job ID: 0150202e-9638-11ee-be2f-b16153380354
További feladatok részletei
A azure.quantum
Python-csomag további módszereket tartalmaz a részletesebb feladatadatok megjelenítéséhez.
job.get_results_histogram()
: Ez a metódus az egyes egyedi mérések eredményeinek és a lövések számának szótárát adja vissza. Az előző feladat eredményei példáulprint(job.get_results_histogram())
{ '[0, 1, 1, 1]' : {'Outcome' : [0, 1, 1, 1], 'Count' : 8}, '[1, 1, 0, 0]' : {'Outcome' : [1, 1, 0, 0], 'Count' : 10}, '[0, 0, 1, 0]' : {'Outcome' : [0, 0, 1, 0], 'Count' : 4}, '[0, 1, 0, 0]' : {'Outcome' : [0, 1, 0, 0], 'Count' : 5}, '[1, 0, 1, 0]' : {'Outcome' : [1, 0, 1, 0], 'Count' : 5}, '[1, 0, 0, 0]' : {'Outcome' : [1, 0, 0, 0], 'Count' : 7}, '[0, 1, 0, 1]' : {'Outcome' : [0, 1, 0, 1], 'Count' : 7}, '[1, 0, 1, 1]' : {'Outcome' : [1, 0, 1, 1], 'Count' : 7}, '[0, 0, 0, 0]' : {'Outcome' : [0, 0, 0, 0], 'Count' : 8}, '[1, 1, 1, 0]' : {'Outcome' : [1, 1, 1, 0], 'Count' : 5}, '[0, 0, 0, 1]' : {'Outcome' : [0, 0, 0, 1], 'Count' : 10}, '[0, 0, 1, 1]' : {'Outcome' : [0, 0, 1, 1], 'Count' : 4}, '[0, 1, 1, 0]' : {'Outcome' : [0, 1, 1, 0], 'Count' : 9}, '[1, 0, 0, 1]' : {'Outcome' : [1, 0, 0, 1], 'Count' : 4}, '[1, 1, 1, 1]' : {'Outcome' : [1, 1, 1, 1], 'Count' : 5}, '[1, 1, 0, 1]' : {'Outcome' : [1, 1, 0, 1], 'Count' : 2} }
job.get_results_shots()
: Ez a metódus az egyes lövési eredmények listáját adja vissza. Az előző feladat eredményei példáulprint(job.get_results_shots())
[ [0, 1, 1, 1], [1, 0, 1, 1], [0, 0, 1, 1], [1, 1, 0, 1], [1, 0, 0, 0], [1, 0, 1, 1], [1, 1, 0, 1], ...]
Python beküldése Q#-feladatokkal az Azure Quantumba
Megtudhatja, hogyan írhat a VS Code használatával olyan Python-programot, amely Q#-műveleteket hív meg, csatlakozhat az Azure-hoz a Python-parancsokkal vagy az Azure CLI-vel, és hogyan küldheti el a feladatát.
Előfeltételek
A telepítés részleteiért lásd: QDK-bővítmény beállítása.
- Azure Quantum-munkaterület az Azure-előfizetésben. Munkaterület létrehozásához lásd : Azure Quantum-munkaterület létrehozása.
- Python-környezet, amelyen telepítve van a Python és a Pip .
- VS Code az Azure Quantum Development Kit és a Python-bővítmény telepítésével.
- Az Azure Quantum
qsharp
és aazure-quantum
csomagok. - Az Azure CLI a legújabb Azure Quantum-bővítményt telepítette.
Q#-műveletek létrehozása és importálása
qsharp
A csomaggal Q#-fájlokban tárolhatja a függvényeit és műveleteit, és Q#-projekteket hozhat létre, amelyek segítségével bármelyikbe meghívhatja őket a Python-kódból. Ez különösen akkor hasznos, ha olyan programot kell elindítania, amely bemeneti paramétereket vesz fel.
Kövesse az alábbi lépéseket egy Q#-projekt létrehozásához.
Nyisson meg egy új szövegfájlt, adja hozzá a következő Q#-kódot, amely egy felhasználó által megadott számú véletlenszerű bitet ad vissza, és mentse a fájlt a könyvtárába.
operation Random() : Result { use q = Qubit(); H(q); let result = M(q); Reset(q); return result } operation RandomNBits(N: Int): Result[] { mutable results = []; for i in 0 .. N - 1 { let r = Random(); results += [r]; } return results }
A projekt gyökérmappájában (a qsharp.json fájllal együtt) nyisson meg egy másik fájlt, és mentse azt
randomNum.py
.Adja hozzá a következő kódot a modulok és
qsharp
a modulok importálásáhozazure.quantum
.import qsharp import azure.quantum
Ezután adjon hozzá kódot a Q#-projekt gyökérmappájának meghatározásához, és tesztelje a target műveletet a helyi szimulátoron. A műveletet névtér< hívja >meg.<operation_name( )>, és ebben az esetben a visszaadandó véletlenszerű bitek számát adja meg.
Feljegyzés
Mivel nem adott meg névteret,
Source.qs
a fordító a fájlnevet használja alapértelmezett névtérként –Source.RandomNBits()
. További információ: Projektek és implicit névterek.qsharp.init(project_root = '../MyProjectRootFolder') print(qsharp.eval("Source.RandomNBits(4)"))
[Zero, One, One, Zero]
A műveletet a metódussal
run
is tesztelheti, amely egy továbbishots
paramétert ad át, és egy Python-listában adja vissza az eredményeket. EbbenrandomNum.py
az esetben cserélje le az előző nyomtatási utasítást a következőre:result = qsharp.run("Source.RandomNBits(4)", shots=10) for x in result: print(x)
[[One, One, One, One], [Zero, Zero, One, Zero], [One, Zero, Zero, One], [Zero, One, Zero, Zero], [One, Zero, One, One], [One, Zero, One, Zero], [One, One, One, Zero], [One, One, One, One], [Zero, Zero, Zero, One], [One, Zero, Zero, One]]
A feladat fordítása az Alapprofil használatával
Amikor programokat futtat a helyi kvantumszimulátoron, bármilyen Q#-programot elküldhet. Az Azure Quantum hardvere targets azonban még nem támogatja az összes Q#-program futtatásához szükséges összes képességet. A Q#-programok Azure Quantum-ba való fordításához és elküldéséhez be kell állítania a target profilját, hogy meg tudja mondani a Q#-nak, hogy mely képességeket támogatja a target hardver. Jelenleg ez vagy a Base
Adpative_RI
profil. További információ: Profiltípusok az Azure Quantumban.
Feljegyzés
Csak a VS Code-ban található Q#-programok esetén a VS Code automatikusan beállítja a profiltBase
.
A profil beállításához használja a
init
következő módszert:qsharp.init(project_root = '../MyProjectRootFolder', target_profile=qsharp.TargetProfile.Base)
Feljegyzés
Mivel újrainicializálja a qsharp-állapotot, újra be kell állítania a
project_root
paramétert, hogy a fordító tudja, hol találja aRandomNBits
műveletet. Ez az előző eljárás 5. lépésében is történhetett volna.Ezután a
compile
metódussal adja meg azt a műveletet vagy függvényt, amely a program belépési pontja. A lefordított program ezután bármely kvantumhardverbe beküldhető:MyProgram = qsharp.compile("Source.RandomNBits(4)")
Csatlakozzon az Azure Quantumhoz, és küldje el a feladatát
Csatlakozhat az Azure Quantumhoz, és elküldheti a feladatát egy Python által létrehozott Workspace
objektummal, vagy csatlakozhat és elküldheti a feladatát az Azure CLI használatával. Az Azure CLI használatához szövegfájlként kell mentenie a lefordított programot, és be kell küldenie a fájlt egy CLI-paranccsal.
Most, hogy a program a megfelelő formátumban lett lefordítva, hozzon létre egy azure.quantum.Workspace
objektumot az Azure Quantumhoz való csatlakozáshoz. A csatlakozáshoz az Azure Quantum-munkaterület erőforrás-azonosítóját fogja használni. Az erőforrás-azonosítót és a helyet átmásolhatja a munkaterület áttekintő oldaláról az Azure Portalon.
Adja hozzá a következő kódot
randomNum.py
, és töltse ki az erőforrás-azonosítót és a helyet az Azure Quantum-munkaterületről:workspace = azure.quantum.Workspace( resource_id = "MyResourceID", location = "MyLocation" )
get_targets
A módszerrel megjelenítheti a munkaterületen elérhető hardverekettargets:MyTargets = workspace.get_targets() print("This workspace's targets:") for x in MyTargets: print(x)
Válassza a következőt
rigetti.sim.qvm
target:MyTarget = workspace.get_targets("rigetti.sim.qvm")
Végül a metódussal küldje el a
submit
programot a paramétereivel. A feladat eredményei Python-szótárként jelennek meg.job = MyTarget.submit(MyProgram, "MyPythonJob", shots=100) results = job.get_results() print("\nResults: ", results)
Csak az értékek kinyerése és megjelenítése:
for x in results: print(x)
[0, 0, 0, 0] 0.3 [1, 0, 0, 0] 0.1 [1, 1, 1, 1] 0.3 [0, 1, 1, 1] 0.3
A feladat minden tulajdonsága elérhető
job.details
, például:print(job.details) print("\nJob name:", job.details.name) print("Job status:", job.details.status) print("Job ID:", job.details.id)
{'additional_properties': {'isCancelling': False}, 'id': '0fc396d2-97dd-11ee-9958-6ca1004ff31f', 'name': 'MyPythonJob', 'provider_id': 'rigetti'...} Job name: MyPythonJob Job status: Succeeded Job ID: fc396d2-97dd-11ee-9958-6ca1004ff31f
További feladatok részletei
A azure.quantum
Python-csomag további módszereket tartalmaz a részletesebb feladatadatok megjelenítéséhez.
job.get_results_histogram()
: Ez a metódus az egyes egyedi mérések eredményeinek és a lövések számának szótárát adja vissza. Az előző feladat eredményei példáulresults = job.get_results_histogram() for x in results.items(): print(x)
{ '[0, 0, 0, 0]' : {'Outcome' : [0, 0, 0, 0], 'Count' : 30}, '[1, 0, 0, 0]' : {'Outcome' : [1, 0, 0, 0], 'Count' : 10}, '[1, 1, 1, 1]' : {'Outcome' : [1, 1, 1, 1], 'Count' : 30}, '[0, 1, 1, 1]' : {'Outcome' : [0, 1, 1, 1], 'Count' : 30} }
job.get_results_shots()
: Ez a metódus az egyes lövési eredmények listáját adja vissza. Az előző feladat eredményei példáulprint(job.get_results_shots())
[ [0, 0, 0, 0], [1, 1, 1, 1], [0, 1, 1, 1], [1, 1, 1, 1], [1, 0, 0, 0], [0, 1, 1, 1], [0, 0, 0, 0], ...]