Συντονιστής: konnn


medigeek έγραψε:Δλδ. μπορείς να φτιάξεις ένα απλό κλειδί όπως "ABC-12345"; Κάτι παρόμοιο χρησιμοποιούν για support tickets.
Τα γράμματα και οι αριθμοί είναι τυχαίοι.
Παράδειγμα ο παρακάτω κώδικας σε python μαζί με το random.choice():
http://docs.python.org/library/random.h ... dom.choice
- Μορφοποιημένος Κώδικας: Επιλογή όλων
from random import choice
def mkticket():
#Create a ticketid
#returns format 'ABC-12345'
letters = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')*4
al = choice(letters) + choice(letters) + choice(letters)
digits = list('0123456789')*6
ad = choice(digits) + choice(digits) + choice(digits) + choice(digits) + choice(digits)
ticket = "%s-%s" % (al, ad)
return ticket
print(mkticket())
#!/usr/bin/python
from random import choice
def mkticket():
#Create a ticketid
#returns format 'ABC-12345'
letters = list('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')*4
al = choice(letters) + choice(letters) + choice(letters)
digits = list('0123456789`~!@#$^%^&*()_-+=}{[]|":;\?><,./')*6
ad = choice(digits) + choice(digits) + choice(digits) + choice(digits) + choice(digits)
ticket = "%s%s" % (al, ad)
return ticket
print(mkticket())

vagrale13 έγραψε:Ασχετο αλλα, ποια η διαφορα αν αλλαξουμε τον αριθμο *6 και *4 ?
έγραψε:Επισης ποτε μπηκε το [z_code] στο forum και δεν το πηραμε χαμπαρι?

medigeek έγραψε:vagrale13 έγραψε:Ασχετο αλλα, ποια η διαφορα αν αλλαξουμε τον αριθμο *6 και *4 ?
Δεν είναι σημαντικό αλλά το πρόσθεσα για "randomness" - για τα γράμματα επαναλαμβάνει την ίδια σειρά επί 4 (ζητάμε 3 γράμματα, εγώ το έβαλα n+1 φορές να επαναλάβει το αλφάβητο). Βασικά αυξάνει την «τυχαιότητα» επιλογής. Σκέψου το σαν δεύτερο επίπεδο τυχαίας επιλογής, εκτός του random.choice().
Παρόμοια με το *6, ζητάμε 5 αριθμούς, και φτιάχνω σειρά με n+1 (6) φορές «μεγαλύτερη» επιλογή αριθμών για να αυξήσω την τυχαιότητα.
medigeek έγραψε:έγραψε:Επισης ποτε μπηκε το [z_code] στο forum και δεν το πηραμε χαμπαρι?
http://forum.ubuntu-gr.org/viewtopic.ph ... 38#p231338 - φτιάξε καφέ/τσάι/γάλα και... ενημερώσου.
