1 import random #randint(a,b) 2 3 ajto=[] 4 5 def F1(): 6 7 print('1. feladat') 8 fbe=open('ajto.txt','r') 9 for sor in fbe: 10 sor=sor.rstrip() #enter eltávolítása 11 ajto.append(sor) #elem a listába kerül 12 13 fbe.close() 14 15 def F2(): 16 17 print('2. feladat') 18 global nyitokod #globális adat lesz 19 nyitokod=input('Adja meg, mi nyitja a zárat! ') 20 21 def F3(): 22 23 print('3. feladat') 24 print('A nyitó kódszámok sorai:',end=' ') 25 26 #kiválogatás 27 for i,kod in enumerate(ajto,start=1): 28 if kod==nyitokod: 29 print(i,end=' ') 30 print() 31 32 def F4(): 33 print('4. feladat') 34 nincs=True 35 i=0 36 while i<len(ajto) and nincs: 37 lista=list(ajto[i]) # list('239451') ---> ['2','3','9',...] 38 halmaz=set(lista) # ['3','3','9',...] --> {'3','9',...} 39 if len(halmaz)<len(lista): 40 nincs=False 41 i+=1 42 43 if nincs: 44 print('Nem volt ismétlődő számjegy.') 45 else: 46 print('Az első ismétlődést tartalmazó próbálkozás sorszáma: ',i) 47 48 ''' 49 van=False 50 for i,kod in enumerate(ajto): 51 lista=list(ajto[i]) # list('239451') ---> ['2','3','9',...] 52 halmaz=set(lista) # ['3','3','9',...] --> {'3','9',...} 53 if len(halmaz)<len(lista): 54 van=True 55 break 56 57 if van: 58 print('Az első ismétlődést tartalmazó próbálkozás sorszáma: ',i+1) 59 else: 60 print('Nem volt ismétlődő számjegy.') 61 ''' 62 63 def F5(): 64 print('5. feladat') 65 66 ujkod=[] 67 while len(ujkod)!=len(nyitokod): 68 b=str(random.randint(0,9)) # 6 ---> '6' str(6)='6' 69 if b not in ujkod: 70 ujkod.append(b) 71 72 ujkod=''.join(ujkod) 73 74 print('Egy %d hosszú kódszám: %s' %(len(ujkod),ujkod)) 75 76 77 def nyit(jo, proba): 78 egyezik=(len(jo)==len(proba)) 79 if egyezik: 80 elteres=ord(jo[0])-ord(proba[0]) 81 for i in range(1,len(jo)): 82 if (elteres - (ord(jo[i])-ord(proba[i])) ) % 10 != 0: 83 egyezik=False 84 85 return egyezik 86 87 def F7(): 88 print('7. feladat') 89 90 fki=open('siker.txt','w') 91 92 for kod in ajto: 93 if len(kod)!=len(nyitokod): 94 print(kod,'hibás hossz',file=fki) 95 else: 96 if nyit(kod,nyitokod): 97 print(kod,'sikeres',file=fki) 98 else: 99 print(kod,'hibás kódszám',file=fki) 100 101 fki.close() 102 103 #*****************************F Ő M O D U L************************************** 104 F1() 105 F2() 106 F3() 107 F4() 108 F5() 109 F7()