ਪਾਈਥਨ ਵਿੱਚ ਬੇਤਰਤੀਬ ਦਸ਼ਮਲਵ ਅਤੇ ਪੂਰਨ ਅੰਕ ਤਿਆਰ ਕਰਨਾ, ਜਿਸ ਵਿੱਚ random(), randrange(), ਅਤੇ randint() ਸ਼ਾਮਲ ਹਨ

ਕਾਰੋਬਾਰ

ਪਾਈਥਨ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਵਿੱਚ random(), uniform(), randange(), ਅਤੇ randint() ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਰੈਂਡਮ ਨੰਬਰ ਤਿਆਰ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਸਲਈ ਕੋਈ ਵਾਧੂ ਸਥਾਪਨਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਬੇਸ਼ੱਕ, ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ.

ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਇੱਥੇ ਦਿੱਤੀ ਗਈ ਹੈ।

  • random.random()(0.0 ਅਤੇ 1.0 ਦੇ ਵਿਚਕਾਰ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰ)
  • random.uniform()(ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰਾਂ ਦੀ ਕੋਈ ਵੀ ਰੇਂਜ)
  • ਬੇਤਰਤੀਬ ਨੰਬਰ ਤਿਆਰ ਕਰੋ ਜੋ ਇੱਕ ਸਧਾਰਨ ਵੰਡ, ਗੌਸੀ ਵੰਡ, ਆਦਿ ਦਾ ਅਨੁਸਰਣ ਕਰਦੇ ਹਨ।
  • random.randrange()(ਆਰਬਿਟਰਰੀ ਰੇਂਜ ਅਤੇ ਸਟੈਪ ਦਾ ਪੂਰਨ ਅੰਕ)
  • random.randint()(ਕਿਸੇ ਵੀ ਰੇਂਜ ਵਿੱਚ ਇੱਕ ਪੂਰਨ ਅੰਕ)
  • ਤੱਤਾਂ ਦੇ ਤੌਰ ‘ਤੇ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਨਾਲ ਇੱਕ ਸੂਚੀ ਤਿਆਰ ਕਰਨਾ
    • ਬੇਤਰਤੀਬ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਨੰਬਰਾਂ ਦੀ ਸੂਚੀ
    • ਪੂਰਨ ਅੰਕ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਦੀ ਸੂਚੀ
  • ਬੇਤਰਤੀਬ ਨੰਬਰ ਜਨਰੇਟਰ ਸ਼ੁਰੂ ਕਰੋ (ਰੈਂਡਮ ਨੰਬਰ ਦੇ ਬੀਜ ਨੂੰ ਠੀਕ ਕਰੋ)

ਸੂਚੀ ਦੇ ਤੱਤਾਂ ਨੂੰ ਬੇਤਰਤੀਬ ਢੰਗ ਨਾਲ ਐਕਸਟਰੈਕਟ ਜਾਂ ਕ੍ਰਮਬੱਧ ਕਰਨ ਬਾਰੇ ਹੇਠਾਂ ਦਿੱਤਾ ਲੇਖ ਦੇਖੋ।

random.random()(0.0 ਅਤੇ 1.0 ਦੇ ਵਿਚਕਾਰ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰ)

ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦਾ ਫੰਕਸ਼ਨ random() ਕਿਸਮ ਦੇ ਫਲੋਟ ਦੀ ਇੱਕ ਬੇਤਰਤੀਬ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਸੰਖਿਆ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜੋ 0.0 ਅਤੇ 1.0 ਦੇ ਵਿਚਕਾਰ ਹੁੰਦਾ ਹੈ।

import random

print(random.random())
# 0.4496839011176701

random.uniform()(ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰਾਂ ਦੀ ਕੋਈ ਵੀ ਰੇਂਜ)

uniform(a, b)ਇਸ ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦੇ ਫੰਕਸ਼ਨ ਹੇਠ ਲਿਖੀਆਂ ਰੇਂਜਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵਿੱਚ ਵੀ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਨੰਬਰ ਫਲੋਟ ਕਿਸਮ ਦੀਆਂ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਪੈਦਾ ਕਰਦੇ ਹਨ।

  • a <= n <= b
  • b <= n <= a
import random

print(random.uniform(100, 200))
# 175.26585048238275

ਦੋ ਦਲੀਲਾਂ ਜਾਂ ਤਾਂ ਵੱਡੀਆਂ ਜਾਂ ਛੋਟੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ; ਜੇਕਰ ਉਹ ਬਰਾਬਰ ਹਨ, ਤਾਂ ਉਹ ਕੁਦਰਤੀ ਤੌਰ ‘ਤੇ ਸਿਰਫ਼ ਉਸ ਮੁੱਲ ਨੂੰ ਵਾਪਸ ਕਰਨਗੇ। ਵਾਪਸੀ ਦਾ ਮੁੱਲ ਹਮੇਸ਼ਾ ਇੱਕ ਫਲੋਟ ਹੁੰਦਾ ਹੈ।

print(random.uniform(100, -100))
# -27.82338731501028

print(random.uniform(100, 100))
# 100.0

ਆਰਗੂਮੈਂਟ ਨੂੰ ਫਲੋਟ ਦੇ ਤੌਰ ‘ਤੇ ਵੀ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

print(random.uniform(1.234, 5.637))
# 2.606743596829249

ਕੀ b ਦਾ ਮੁੱਲ ਰੇਂਜ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਹੇਠਾਂ ਦਿੱਤੇ ਰਾਊਂਡਿੰਗ ‘ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਦਸਤਾਵੇਜ਼ੀ ਤੌਰ ‘ਤੇ।
a + (b-a) * random.random()

ਕੀ ਅੰਤਮ ਬਿੰਦੂ ਮੁੱਲ b ਰੇਂਜ ਵਿੱਚ ਹੈ ਜਾਂ ਨਹੀਂ ਇਹ ਹੇਠਾਂ ਦਿੱਤੇ ਸਮੀਕਰਨ ਵਿੱਚ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਰਾਊਂਡਿੰਗ ‘ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ
a + (b-a) * random()
random.uniform() — Generate pseudo-random numbers — Python 3.10.2 Documentation

ਬੇਤਰਤੀਬ ਨੰਬਰ ਤਿਆਰ ਕਰੋ ਜੋ ਇੱਕ ਸਧਾਰਨ ਵੰਡ, ਗੌਸੀ ਵੰਡ, ਆਦਿ ਦਾ ਅਨੁਸਰਣ ਕਰਦੇ ਹਨ।

ਉੱਪਰ ਦਿੱਤੇ ਬੇਤਰਤੀਬ() ਅਤੇ ਯੂਨੀਫਾਰਮ() ਫੰਕਸ਼ਨ ਇੱਕਸਾਰ ਵੰਡੇ ਹੋਏ ਬੇਤਰਤੀਬੇ ਸੰਖਿਆਵਾਂ ਨੂੰ ਉਤਪੰਨ ਕਰਦੇ ਹਨ, ਪਰ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰ ਬਣਾਉਣ ਲਈ ਫੰਕਸ਼ਨ ਵੀ ਹਨ ਜੋ ਹੇਠਾਂ ਦਿੱਤੀ ਵੰਡ ਦਾ ਪਾਲਣ ਕਰਦੇ ਹਨ।

  • ਬੀਟਾ ਵੰਡ:random.betavariate()
  • ਘਾਤਕ ਵੰਡ:random.expovariate()
  • ਗਾਮਾ ਵੰਡ:random.gammavariate()
  • ਗੌਸੀ ਵੰਡ:random.gauss()
  • ਸਾਧਾਰਨ ਵੰਡ:random.lognormvariate()
  • ਆਮ ਵੰਡ:random.normalvariate()
  • ਵੌਨ ਮਿਸਜ਼ ਵੰਡ:random.vonmisesvariate()
  • ਪੈਰੇਟੋ ਵੰਡ:random.paretovariate()
  • Weibull ਵੰਡ:random.weibullvariate()

ਹਰੇਕ ਵੰਡ ਦੇ ਮਾਪਦੰਡ ਆਰਗੂਮੈਂਟਾਂ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤੇ ਗਏ ਹਨ। ਵੇਰਵਿਆਂ ਲਈ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ ਵੇਖੋ।

random.randrange()(ਆਰਬਿਟਰਰੀ ਰੇਂਜ ਅਤੇ ਸਟੈਪ ਦਾ ਪੂਰਨ ਅੰਕ)

randrange(start, stop, step)
ਇਸ ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦਾ ਫੰਕਸ਼ਨ ਹੇਠਾਂ ਦਿੱਤੇ ਤੱਤਾਂ ਵਿੱਚੋਂ ਇੱਕ ਬੇਤਰਤੀਬ ਤੌਰ ‘ਤੇ ਚੁਣਿਆ ਗਿਆ ਤੱਤ ਵਾਪਸ ਕਰਦਾ ਹੈ।
range(start, stop, step)

ਜਿਵੇਂ ਕਿ ਸੀਮਾ() ਦੇ ਨਾਲ, ਆਰਗੂਮੈਂਟ ਸ਼ੁਰੂ ਅਤੇ ਕਦਮ ਨੂੰ ਛੱਡਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਉਹਨਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਸ਼ੁਰੂਆਤ=0 ਅਤੇ ਕਦਮ=1।

import random

print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(random.randrange(10))
# 5

ਆਰਗੂਮੈਂਟ ਸਟੈਪ ਨੂੰ ਇੱਕ ਸਮ ਜਾਂ ਅਜੀਬ ਬੇਤਰਤੀਬ ਪੂਰਨ ਅੰਕ ਬਣਾਉਣ ਲਈ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਇੱਕ ਬੇਤਰਤੀਬ ਪੂਰਨ ਅੰਕ ਜੋ ਤਿੰਨ ਦਾ ਗੁਣਜ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਸ਼ੁਰੂਆਤੀ ਬਰਾਬਰ ਅਤੇ step=2 ਹੈ, ਤਾਂ ਰੇਂਜ ਵਿੱਚ ਸਿਰਫ਼ ਪੂਰਨ ਅੰਕ ਹੀ ਬੇਤਰਤੀਬੇ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

print(list(range(10, 20, 2)))
# [10, 12, 14, 16, 18]

print(random.randrange(10, 20, 2))
# 18

random.randint()(ਕਿਸੇ ਵੀ ਰੇਂਜ ਵਿੱਚ ਇੱਕ ਪੂਰਨ ਅੰਕ)

randint(a, b)
ਇਸ ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦਾ ਫੰਕਸ਼ਨ ਹੇਠਾਂ ਦਿੱਤੇ ਬੇਤਰਤੀਬੇ ਪੂਰਨ ਅੰਕ ਇੰਟ ਵਾਪਸ ਕਰਦਾ ਹੈ।
a <= n <= b
randrange(a, b + 1)ਇਸ ਦੇ ਬਰਾਬਰ; ਨੋਟ ਕਰੋ ਕਿ ਬੀ ਦਾ ਮੁੱਲ ਵੀ ਰੇਂਜ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ।

print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74

ਤੱਤਾਂ ਦੇ ਤੌਰ ‘ਤੇ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਨਾਲ ਇੱਕ ਸੂਚੀ ਤਿਆਰ ਕਰਨਾ

ਇਸ ਭਾਗ ਵਿੱਚ, ਅਸੀਂ ਦੱਸਾਂਗੇ ਕਿ ਤੱਤ ਦੇ ਰੂਪ ਵਿੱਚ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਵਾਲੀ ਸੂਚੀ ਬਣਾਉਣ ਲਈ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।

ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਫਲੋਟਸ ਦੇ ਨਾਲ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਦੀ ਸੂਚੀ

ਇੱਕ ਸੂਚੀ ਬਣਾਉਣ ਲਈ ਜਿਸ ਦੇ ਤੱਤ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਬੇਤਰਤੀਬੇ ਨੰਬਰ ਹਨ, ਸੂਚੀ ਸਮਝ ਸੰਕੇਤ ਦੇ ਨਾਲ ਬੇਤਰਤੀਬ() ਅਤੇ ਯੂਨੀਫਾਰਮ() ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਜੋੜੋ।

import random

print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]

ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, range() ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਸੂਚੀਆਂ ਅਤੇ ਟੂਪਲ ਵੀ ਤੱਤ ਦੀ ਲੋੜੀਦੀ ਸੰਖਿਆ ਲਈ ਸੰਭਵ ਹਨ। ਸੂਚੀ ਦੀ ਸਮਝ ਬਾਰੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੇ ਲੇਖ ਨੂੰ ਵੇਖੋ।

ਪੂਰਨ ਅੰਕ ਇੰਟ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਦੀ ਸੂਚੀ

ਇੱਕ ਸੂਚੀ ਤਿਆਰ ਕਰਦੇ ਸਮੇਂ ਜਿਸ ਦੇ ਤੱਤ ਪੂਰਨ ਅੰਕ ਬੇਤਰਤੀਬ ਸੰਖਿਆਵਾਂ ਹਨ, ਉਪਰੋਕਤ randange() ਅਤੇ randint() ਨੂੰ ਸੂਚੀ ਸਮਝ ਸੰਕੇਤ ਦੇ ਨਾਲ ਜੋੜਨ ਨਾਲ ਡੁਪਲੀਕੇਟ ਮੁੱਲ ਹੋ ਸਕਦੇ ਹਨ।

print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]

ਜੇਕਰ ਤੁਸੀਂ ਬਿਨਾਂ ਡੁਪਲੀਕੇਸ਼ਨ ਦੇ ਪੂਰਨ ਅੰਕਾਂ ਦਾ ਇੱਕ ਬੇਤਰਤੀਬ ਕ੍ਰਮ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ random.sample() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਆਰਬਿਟਰੇਰੀ ਰੇਂਜ ਦੇ ਨਾਲ range() ਦੇ ਤੱਤਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰੋ।

print(random.sample(range(10), k=5))
# [6, 4, 3, 7, 5]

print(random.sample(range(100, 200, 10), k=5))
# [130, 190, 140, 150, 170]

random.sample() ਬਾਰੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੇ ਲੇਖ ਨੂੰ ਵੇਖੋ।

ਬੇਤਰਤੀਬ ਨੰਬਰ ਜਨਰੇਟਰ ਸ਼ੁਰੂ ਕਰੋ (ਰੈਂਡਮ ਨੰਬਰ ਦੇ ਬੀਜ ਨੂੰ ਠੀਕ ਕਰੋ)

ਬੇਤਰਤੀਬ ਮੋਡੀਊਲ ਦੇ ਫੰਕਸ਼ਨ ਸੀਡ() ਨੂੰ ਇੱਕ ਆਰਬਿਟਰਰੀ ਪੂਰਨ ਅੰਕ ਦੇ ਕੇ, ਬੇਤਰਤੀਬ ਸੰਖਿਆ ਦੇ ਬੀਜ ਨੂੰ ਫਿਕਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਬੇਤਰਤੀਬ ਸੰਖਿਆ ਜਨਰੇਟਰ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਉਸੇ ਬੀਜ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਬੇਤਰਤੀਬ ਮੁੱਲ ਹਮੇਸ਼ਾਂ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਉਤਪੰਨ ਹੁੰਦਾ ਹੈ।

random.seed(0)
print(random.random())
# 0.8444218515250481

print(random.random())
# 0.7579544029403025

random.seed(0)
print(random.random())
# 0.8444218515250481

print(random.random())
# 0.7579544029403025