Txt'den veri çekip random şekilde yazdırmak

Merhaba arkadaşlar,Oynadığım oyunda otomatik olarak random nickli karakter açtığım bir eklentim mevcut.Belittiğim nickleri random şekilde sorunsuz açıyor ancak benim istediğim Yaklaşık 5 bin tane nick’i bir eklentiye eklediğimde görüntü kirliliğinin ortadan kalkması için bir txt dosyasına o nickleri yazmak istediğim.Fakat txt dosyasından o nickleri random şekilde nasıl çekebilirim?

def getRandomNick():
	# Adding names with max. 12 letters
	names = [ "vvgsgfhcgeg",
        "gcafqfdqvc",
        "dzdzggvgxa",
        "hadawhaaezx",
        "wszczxxx",
        "eezfce",
        "ecdwgh",
        "gqzzxs",
]
	name = names
	# Fill with discord style
	if len(name) < 12:
		maxWidth = 12-len(name)
		if maxWidth > 4 :
			maxWidth = 4
		numbers = pow(10,maxWidth)-1
		name = (random.choice(names))
	return name

Txt dosyasindan random cekmeyeceksin, txt dosyasindan sirayla cekip sirali listeden random alacaksin. Yukaridaki koddaki names = kismi disinda bir sey degismeyecek.

(Degisecek aslinda, cunku hatali gibi duruyor.)

Bu benim kullandığım eski kodum.Names= kısmı değişecek evet ama nasıl

https://docs.python.org/3/library/io.html#io.IOBase.readlines ?

Bir listeye ekleyip random almayı denedinizmi ?

import random

def getRandomNick():
    liste = []
    with open("nickler.txt","r") as dosya:
        for i in dosya.readlines():
            liste.append(i)
        dosya.close()
    c = random.randint(0,100)
    değer = liste[c]
    print(değer)

eğer denediğseniz bunu görmezden gelin.

dosya.readlines zaten bir liste döndürüyor.

Metod çağırılmamış, bu ifade bir işe yaramıyor. Zaten gerek de yok, with var.

Some ruby learn problems

Öğrenme açısından for döngüsü ile işlem yaptım.

Zaten liste döndüren bir fonksiyonun elemanlarını boşuna boşuna yeni bir listeye ekleme gibi bir alışkanlığın doğru olmayacağını düşünüyorum. Öğretilecek şey for döngüsü ise kullanılabilecek daha iyi örnekler var.

2 Beğeni

Bir dilde yoğunlaşmayı oneriyorum

1 Beğeni