mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-20 19:42:45 +08:00
Rename quantum_random.py.DISABLED.txt to quantum_random.py (#8601)
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
This commit is contained in:
30
quantum/quantum_random.py
Normal file
30
quantum/quantum_random.py
Normal file
@ -0,0 +1,30 @@
|
||||
import doctest
|
||||
|
||||
import projectq
|
||||
from projectq.ops import H, Measure
|
||||
|
||||
|
||||
def get_random_number(quantum_engine: projectq.cengines._main.MainEngine) -> int:
|
||||
"""
|
||||
>>> isinstance(get_random_number(projectq.MainEngine()), int)
|
||||
True
|
||||
"""
|
||||
qubit = quantum_engine.allocate_qubit()
|
||||
H | qubit
|
||||
Measure | qubit
|
||||
return int(qubit)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
doctest.testmod()
|
||||
|
||||
# initialises a new quantum backend
|
||||
quantum_engine = projectq.MainEngine()
|
||||
|
||||
# Generate a list of 10 random numbers
|
||||
random_numbers_list = [get_random_number(quantum_engine) for _ in range(10)]
|
||||
|
||||
# Flushes the quantum engine from memory
|
||||
quantum_engine.flush()
|
||||
|
||||
print("Random numbers", random_numbers_list)
|
Reference in New Issue
Block a user