Aşağıdaki gibi bir şey yapabilirsiniz.
>>> import random
>>>
>>> def random_num(n, range=(0, 100)):
... nums = []
...
... while len(nums) != n:
... while True:
... num = random.randint(*range)
... if num not in nums:
... nums.append(num)
... break
...
... return nums
...
>>>
>>> random_num(10, (0, 100))
[7, 91, 100, 72, 51, 96, 65, 31, 68, 93]
>>>
Çok teşekkür ederim buradaki yazılanlar üzerine biraz araştırma yapayım.
if ve elif de or doğru ancak fonksiyonların arasında yanlış.
Peki fonksiyonlar arasında kullandığım “or” neden hata vermiyor?
Çünkü yanlış bir kullanım değil. or operatörü tıpkı + gibi bir operatördür ve iki tane operanda ihtiyaç duyar. Sizin kullanımınızda ilk fonksiyonun sonucu boolean’a çevrilir, sonuç True ise ikinci fonksiyon çalıştırılmaz, sonuç döndürülür. Eğer sonuç False ise, ikinci fonksiyon çalıştırılır; sonuç, ilk sonuç ile or işlemine tabi tutulur ve sonuç döndürülür.
