· 6 months ago · Apr 04, 2025, 06:15 PM
1import random
2import string
3
4#random: c'est une bibliothèques qui serve per generare numeri casuali.
5
6#string: c'est une bibliothèques contiene caratteri utili per creare una password casuale.
7
8def generate_username(name, surname):
9 return f"{name.lower()}{surname.lower()}{random.randint(100, 999)}"
10 # La funzione generate_username prende il nome e il cognome dell'utente come parametro.
11
12 #Converte entrambi in minuscolo usando .lower().
13
14 #Aggiunge un numero casuale tra 100 e 999 con random.randint(100, 999).
15
16 #Esempio:
17
18 #Input / ou entrée: Nome = "Marco", Cognome = "Rossi"
19 #la sytanxe name.lower() converte "Marco" in "marco".
20 #La sintassi surname.lower() converte "Rossi" in "rossi".
21 #La sintassi random.randint(100, 999) genera un numero casuale tra 100 e 999.
22 #Quindi il risultato finale sarà "marcorossi786" (il numero finale cambia ogni volta).
23
24 #Output/ la sortie: marcorossi786 (il numero finale cambia ogni volta).
25
26def generate_password(length=8):
27 characters = string.ascii_letters + string.digits + string.punctuation
28 return ''.join(random.choice(characters) for _ in range(length))
29
30#La funzione generate_password genera una password di 8 caratteri.
31
32#string.ascii_letters → lettere maiuscole e minuscole (A-Z, a-z). c'est a dire toutes les lettres de l'alphabet.
33
34#string.digits → numeri (0-9). c'est a dire tous les chiffres(0,1,2,......jusqu'à 9).
35
36#string.punctuation → ça te donne gli simboli (!@#$%^&* etc.).
37
38#random.choice(characters) for _ in range(length) seleziona casualmente 8 caratteri.
39#c'est a dire la random.choice(characters) selezione au hasard 8 caractères dans ma variable (characters).
40#exemple : characters = string.ascii_letters + string.digits + string.punctuation = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{}|;:,.<>?"
41# maintneant je vais choisir 8 caractères au hasard dans cette variable le random selectionne au hasard et le for _ in range(length) va le répéter 8 fois.
42
43#La sintassi ''.join(...) unisce i caratteri selezionati in una stringa.
44
45#Esempio: characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{}|;:,.<>?"
46
47#Output: G5&k!9qT (cambia ogni volta).
48
49
50
51def register_user():
52 name = input("Inserisci il tuo nome: ")#on demande à l'utilisateur d'entrer son nom.
53 #La fonction input() consente di acquisire l'input dell'utente.
54
55 surname = input("Inserisci il tuo cognome: ")#on demande à l'utilisateur d'entrer son cognome.
56 #La fonction input() consente di acquisire l'input dell'utente.
57
58 username = generate_username(name, surname)#on appelle la fonction generate_username pour generer le nom d'utilisateur.
59 #La funzione generate_username() genera un nome utente casuale basato sul nome e sul cognome dell'utente.
60 #c'est à dire le nom et le surnom qu'on a demandé à l'utilisateur d'entrer. c'est avec ça qu'on va appeler la fonction generate_username.
61 #la funzione generate_username() va generer un nom d'utilisateur aléatoire basé sur le nom et le prénom de l'utilisateur.
62 password = generate_password()
63 #memme chose pour la fonction generate_password() qui va generer une password aléatoire de 8 caractères.
64
65 print("\nRegistrazione completata con successo!")
66 print(f"Il tuo nome utente è: {username}")
67 print(f"La tua password è: {password}")
68
69if __name__ == "__main__": #on appelle la fonction register_user() pour demarrer le programme.
70 #le if n'est pas obligé mais cela evite d'appeler la fonction register_user() si on importe ce fichier dans un autre fichier.
71 #c'est à dire si on importe ce fichier dans un autre fichier, la fonction register_user() ne sera pas appelée automatiquement.
72 #et tes fonctions ne seront pas exécutées automatiquement. et peuvent être utilisées dans un autre fichier.
73 register_user()
74