logo

Python rastgele randrange ()

Python rastgele Modül rastgele sayılar üretmeye izin verir. Üretilen sayılar, kullanılan fonksiyona dayalı bir dizi sözde rastgele sayıdır. Rastgele sayılar üretmek için rastgele bir modülde kullanılan farklı türde işlevler vardır; random.random(), random.randint(), random.choice(), random.randrange(başlangıç, bitiş, genişlik) , ve daha fazlası.

Burada tartışacağımız Randrange() işlevi rastgele modülü. Randrange() Fonksiyon, parametresinde belirtilen aralık arasında rastgele bir sayı üretmek için kullanılır. Üç parametreyi kabul eder: aralıktaki bir sayıyı atlamak için kullanılan başlangıç ​​numarası, bitiş numarası ve genişlik.

random.randrange()'ın sözdizimi

 random.randrange(start, stop[, width]) 

rastgele.randrange() işlev, verilen aralıkta (yani başlatma ve durdurma) rastgele bir tam sayı döndürür. rastgele.randrange() fonksiyon giriş olarak üç parametre alır başla dur , Ve Genişlik . Bu üç parametreden iki parametre başlangıç Ve Genişlik isteğe bağlıdır.

  • başlangıç parametresi rastgele bir aralıktaki bir başlangıç ​​veya alt limit tam sayıdır. Parametrede start parametresi geçilmezse varsayılan değer olan 0 (sıfır) değerini alır.
  • A durmak parametresi rastgele bir aralıktaki son sayı veya üst sınır tam sayıdır.
  • Genişlik parametresi rastgele sıradaki her sayı arasındaki aralıktır. Bu parametre isteğe bağlıdır ve eğer parametrede genişlik parametresi geçilmezse varsayılan olarak 1 (bir) değerini alır.

randrange(başlangıç, bitiş, genişlik) fonksiyon rastgele tamsayı sayısını üretirken bitiş parametresini içermez. durmak parametre: özel ve rastgele bir sayıda üretilmez.

3 ile 30 arasında 3, 6, 9, 12, …27 gibi herhangi bir rastgele tamsayı değeri üretecek olan bu random.randrange(3, 30, 3) işlevine bakın. Ancak bu fonksiyon rastgele bir sayı üretirken asla 30'u içermez.

Bir uygulamada rastgele oluşturmak her zaman önemli olmuştur ve günlük yaşamda birçok gerçek zamanlı kullanıma sahiptir. Örneğin, güvenli bir işlem gerçekleştirmek için rastgele bir sayı oluşturup müşteriye OTP (tek kullanımlık şifre) olarak göndermek. Rastgele bir sayı üretmenin başka bir örneği, kızma birader oyunu oynarken rastgele bir zar numarası oluşturmak için kullanılır.

Örnek 1: random.Randrange(), verilen aralıkta rastgele bir tam sayı üretir

Belirli bir aralıkta rastgele bir tamsayı ürettiğimiz bir örneği görelim. Bu örnek, random.randrange() işlevinin tüm farklı biçimlerini gösterir.

 import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3) 

Çıktı:

Python rastgele randrange ()

Örnek 2: n'den oluşan rastgele bir tam sayı aralığı (çoklu) oluşturun

5 ile 100 arasında 5, 10, 25, …, 90, 95 gibi 5 aralığı olan rastgele tamsayıyı üretelim.

 import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number) 

Çıktı:

Python rastgele randrange ()

Örnek 3: Belirli bir uzunlukta rastgele tamsayı sayısını oluşturun

Ayrıca belirli bir uzunlukta rastgele bir tam sayı da oluşturabilirsiniz. Uzunluğu 3 olan rastgele bir sayı oluşturmak istiyorsanız, başlangıç Ve durmak parametre Randrange() 3 haneli uzunluktaki en az sayı (100) ve 4 haneli uzunluktaki en az sayı (1000) olarak işlev görür çünkü 4 haneli (1000) hariç tutularak 100'den 999'a kadar rasgele 3 haneli bir sayı üretir.

Örnek: random.randrange() işlevini kullanarak rastgele 3 basamaklı bir sayı oluşturun

 import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2) 

Çıktı:

 First random number of length 3 is: 813 Second random number of length 3 is: 770 

Örnek 4: Rastgele bir negatif tam sayı oluşturun:

-50 ile -10 arasında rastgele bir negatif tamsayı üreten bir örnek görelim.

 import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger) 

Çıktı:

 Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43 

Örnek 5: Rastgele pozitif veya negatif tam sayı üretin

 import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2) 

Çıktı:

 -5 0 

Parametrenin başlangıç Ve durmak , aktarılan rastgele.randrange() fonksiyon artan sırada olmalıdır, örneğin rastgele.randrange(5, 10) veya random.randrange(-20, -10) . başlangıç parametre her zaman daha küçük olmalıdır durmak parametre; aksi takdirde bu işlev şu şekilde bir hata üretir: 'Traceback (en son çağrı son) ve randrange() için ValueError boş aralığını artırın' .

Örneğin:

Şunu geçerek kuralı ihlal ettiğimiz şu örneğe bakın: başlangıç parametresi bundan daha büyük durmak parametre rastgele.randrange() aşağıdaki gibi bir hata mesajı üreten işlev:

dize bölünmüş java
 import random randomNumber = random.randrange(10,5) 

Çıktı:

Python rastgele randrange ()

Diğer bazı fonksiyonları Python'un rastgele modül Rastgele sayı üretmek için kullanılanlar şunlardır:

    seçenek() randevu() örnek() düzenlemek()

rastgele.seçim()

Python rastgele modül var seçenek() Bir listeden veya başka bir diziden rastgele bir öğe seçmek için kullanılan işlev. A rastgele.seçim() işlev, değerler listesinden rastgele bir öğe döndürmek için kullanılır.

ramdom.choice() söz dizimi

 random.choice(sequence) 

veya

 random.choices(sequence, k=l) 

Burada parametre sekans dize, liste, tuple ve olabilir rastgele.seçim() yalnızca tek bir rastgele öğe.

İçinde rastgele.seçimler() işlev k döndürülecek öğelerin sayısıdır. Diyelim ki değerinden bahsetmedik k parametre rastgele.seçimler() diziden veya listeden tek bir öğe döndürür.

Örnek 1:

Bu örnekte parametre olarak diziyi (listeyi) sağlıyoruz ve tek bir rastgele öğe döndürüyoruz.

 import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item) 

Çıktı:

 random item from list is: 10 

Örnek 2:

Random.choices() işlevi çoğunlukla rastgele öğeleri çeşitli olasılıklarla döndürmek için kullanılır. Bu fonksiyon aynı zamanda rastgele seçimlerin sayısının ağırlığını da (k) alır. Örneğin, 5 filmlik listeden 3 rastgele film adını yazdırmak istiyoruz.

 import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies) 

Çıktı:

 random movies from list are: ['Avengers', 'Black Panther', 'Titanic'] 

rastgele.randint()

Python rastgele.randint() işlevi, belirtilen aralıkta rastgele bir tamsayı oluşturmak için kullanılır.

Sözdizimi:

 random.randint(start, stop) 

rastgele.randint() fonksiyon iki parametre alır başlangıç , bir başlangıç ​​aralığıdır ve durmak , bu bir bitiş aralığıdır. Rastgele bir sayı oluşturulurken her iki parametre de (başlatma, durdurma) dahil edilir.

Rastgele tam sayıların bir listesini oluşturan random.randint() örneği

Bu örnek, randint() işlevini kullanarak birden çok rastgele tamsayıdan oluşan bir liste oluşturacaktır. 1 ile 100 arasında 5 rastgele tamsayıdan oluşan bir liste oluşturuluyor; her iki değer de dahildir.

 import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue) 

Çıktı:

 Printing list of 5 generated random numbers [65, 82, 3, 39, 40] 

Ancak şöyle bir ihtimal olabilir random.randint() işlevi çıktı sonucunda yinelenen bir sayı döndürür. Bir sonuçta yinelenen rastgele tamsayı sayısını önlemek için şunu kullanın: rastgele örneklem() işlev.

rastgele örneklem()

Yukarıdaki örnekte şöyle bir olasılık olabilir: rastgele.randint() listeden yinelenen rastgele sayıyı üretir. Bir listeden benzersiz rastgele sayılar oluşturmak istiyorsanız şunu kullanın: rastgele örneklem() işlev.

rastgele örneklem() işlev bir kümeden, listeden ve diğer dizilerden benzersiz öğeler üretir. Python'un random.sample() işlevi, listedeki bir aralıktaki birden fazla öğenin çoğaltılmadan rastgele örneklenmesine olanak tanır.

Tekrarları olmayan bir listeden rastgele öğeler oluşturmak için random.sample() örneği:

Bu örnekte 0 ila 100 aralığında 10 rastgele tam sayı üreteceğiz.

 import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList) 

Çıktı:

 [15, 17, 16, 66, 34, 85, 71, 82, 97, 48] 

Rastgele sayıların bir listesini oluşturmak istiyorsanız ve bunların her birinin 'n'nin katı olması gerekiyorsa, range() işlevinin step parametresini kullanın.

Örneğin, random.sample(range(0, 100, 5), 10) kullanılarak 0 ila 100 aralığında 5'in katı olan 10 rastgele tamsayı üretmek.

 import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList) 

Çıktı:

 [75, 40, 20, 55, 15, 10, 5, 90, 95, 70] 

Liste sıralama()

Python düzenlemek() listedeki rastgele tamsayı sayılarını artan sırada sıralamak için kullanılır (varsayılan olarak). Sırasını belirterek liste değerini azalan şekilde de sıralayabiliriz. ters = Doğru . Varsayılan değeri tersi dır-dir YANLIŞ .

Örnek 1: sort() liste öğelerini artan düzende sıralama

Bu örnekte, 50 ila 100 aralığında, genişliği 5 olan 5 sayıdan oluşan rastgele bir liste oluşturacağız ve bunları kullanarak sıralayacağız. düzenlemek() işlev.

 import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList) 

Çıktı:

 Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90] 

Örnek 2: sort() liste öğelerini azalan düzende sıralama

Bu örnekte liste elemanlarını azalan düzende sıralayacağız: randomList.sort(tersine=Doğru) .

 import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList) 

Çıktı:

 Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]