29 lines
833 B
Python
29 lines
833 B
Python
import random, asyncio
|
|
|
|
COLORS = (
|
|
"\033[0m", # End of color
|
|
"\033[36m", # Cyan
|
|
"\033[91m", # Red
|
|
"\033[35m", # Magenta
|
|
)
|
|
|
|
async def makerandom(delay, threshold= 6):
|
|
color = COLORS[delay]
|
|
print(f"{color} Initiated makerandom ({delay})")
|
|
while (number := random.randint(0, 10)) <= threshold: # Walrus operator : on crée une variable à la volée
|
|
print(f"{color} makerandom ({delay}) == {number} too low ; retrying.")
|
|
await asyncio.sleep(delay)
|
|
print(f"{color} => Finished makerandom ({delay}) == {number} {COLORS[0]}")
|
|
return number
|
|
|
|
async def main():
|
|
return await asyncio.gather(
|
|
makerandom(1, 9),
|
|
makerandom(2, 8),
|
|
makerandom(3, 8),
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
random.seed(444)
|
|
r1, r2, r3 = asyncio.run(main())
|
|
print(r1, r2, r3) |