• 29-05-2022, 11:26:53
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar,

    import random
    sayilar = []
    satir = 1
    dosya = open("bilgiler.txt","a")
    
    while(True):
            sayi = random.randint(1,20)
            if len(sayilar) == 3:
                sayilar.sort()
                print(sayilar)
                dosya.write(str(sayilar) + '\n')
                satir +=1
                sayilar =[]
                if satir == 4:
                    break
                    
            else:
                if not (sayi in sayilar):
                        sayilar.append(sayi)
    
    dosya.close()            
    input("kapat")
    şeklinde bir kod yazdım. 1-20 arasında 3 tane rastgele sayı seçiyor bunları önce ekrana sonrada txt içine yazıyor. Buradan sonra şöyle birşeyi nasıl yapabilirim.

    Rastgele bulduğu diziyi txt ile karşılastırsın ve eğer orada varsa onu seçmesin (ekrana ve dosyaya yazmasın onun yerine bu var felan gibi uyarı versin)

    Teşekkürler
  • 29-05-2022, 11:27:53
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    os modülü ile yapabilirsiniz biraz youtube den araştırma yapın karşılaştırma için ise regex modülünü kullanabilirsiniz youtube de videoları var
  • 29-05-2022, 11:34:39
    #3
    os modülü ile ne alakası var?
    Nereden araştırma yapmam gerektiğini de sormadım. İstediğimi bulamadım bilen var mı diye soruyorum! Cevap yazmış olmak için yazmaya gerek yok
  • 29-05-2022, 11:40:28
    #4
    import random
    
    selected = []
    for i in range(3):
        number = random.choice([i for i in range(21) if i not in selected])
        selected.append(number)
    
    print(selected)
    open("dosya.txt", "w", encoding="utf-8").writelines([str(i) + "\n" for i in selected])
  • 29-05-2022, 11:51:25
    #5
    Burada şöyle bir sorun var,

    Benim hazırladığım formatta txt belgesi içine
    [2, 3, 11]
    [4, 7, 11]
    [9, 13, 16]
    şeklinde yazıyor. Bu örnekte
    8
    12
    2
    şeklinde dizi olarak değil de alt alta yapıyor