удаление дубликатов из массива и их перезапись с исключением повтора

нужно чтобы программа создавала столько рандомных сторок и исключить их повторение но я не знаю как его исключить

import random                                       
import string
a = 0
v = int(input("сколько строк"))
f = open(r"D:\dopdz.txt","w")                        
def g(n):                                           
        b = string.ascii_uppercase + string.digits  
        c = "".join(random.sample(b, n))             
        f.write(c)                                   
while a < v:                                        
    a=a+1                                            
    f.write(str(a))                                
    f.write(" ")                                  
    g(6)                                            
    f.write("\n")                                    
f.close()                                          
f = open(r"D:\dopdz.txt","w")
lines = []


Ответы (1 шт):

Автор решения: Kers

Получится как то так... Было проще многие моменты переписать чем сохранять Вашу архитектуру.

import random
import string

# функция генератор строк
def g(n):
    b = string.ascii_uppercase + string.digits
    c = "".join(random.sample(b, n))
    return c


v = int(input("сколько строк "))
strdata = [] # сюда будем сохранять то что сгенерировано
while v: # пока не будет v = 0 = false
    str_1 = g(6)
    if str_1 not in strdata: # Исключим повторение строк
        strdata.append(str_1)
        v -=1

# Когда все данные подготовлены запишем их
with open("myfile.txt", "w") as f:
    for i in strdata:
        f.write(i+"\n")
# Прочитаем что получилось
with open("myfile.txt", "r") as f:
    print(f.read())
→ Ссылка