Ceci est censé être un programme de générateur de code PYTHON 3.
import string
from random import *
print("Type Yes or No For The Following Questions:")
letters = raw_input("Do you want letters in your passcode?" )
if raw_input == 'Yes': chars1 = string.ascii_letters
elif raw_input == 'No': chars1 = ""
digits = raw_input("Do you want digits in your passcode?" )
if raw_input == 'Yes':chars2 = string.digits
elif raw_input == 'No': chars2 = ""
symbols = raw_input("Do you want symbols in your passcode?" )
if raw_input == 'Yes': chars3 = string.punctuation
elif raw_input == 'No': chars3 = ""
requestedlength = input("What passcode length do you want? Type any number: ")
length = int(requestedlength)
chars = chars1 + chars2 + chars3
passcode = raw_input("Type Enter To Generate Random Passcode: ")
print("".join(choice(chars) for x in range((length))))
3 Réponses :
Parce que vos déclarations si elles ne demandent pas la bonne chose
Vous définissez une variable avec l'entrée P> , puis posez si de sorte que vous êtes toujours faux et que les variables ( pour le corriger, modifiez simplement votre instruction IF P> Entrée brute code> est "oui", ce qu'il n'est jamais p> caractères1 code> etc.) ne sont jamais définies , vous obtenez donc l'erreur p> if letters == 'Yes': chars1 = string.ascii_letters
Changez votre typo "Entrée" dans vos if-instructions aux "lettres" et etc. pour d'autres boucles:
initialisation non requise
Voici comment je l'obtiens à travailler:
import string
from random import *
print("Type Yes or No For The Following Questions:")
letters = input("Do you want letters in your passcode?" )
if letters == 'Yes': chars1 = string.ascii_letters
elif letters == 'No': chars1 = ""
digits = input("Do you want digits in your passcode?" )
if digits == 'Yes':chars2 = string.digits
elif digits == 'No': chars2 = ""
symbols = input("Do you want symbols in your passcode?" )
if symbols == 'Yes': chars3 = string.punctuation
elif symbols == 'No': chars3 = ""
requestedlength = input("What passcode length do you want? Type any number: ")
length = int(requestedlength)
chars = chars1 + chars2 + chars3
passcode = input("Type Enter To Generate Random Passcode: ")
print("".join(choice(chars) for x in range((length))))
Vos variables sont définies à l'intérieur de la si elles sont donc limitées à celle-ci si
Que se passe-t-il si l'utilisateur n'entre ni
oui code> ninon code>? Aussiraw_input == 'oui' code> n'a pas de sens. Vous devriez vérifier contre votre variable, par exemple.lettres code> ouchiffres code>.De plus, si vous apprenez simplement Python, commencez par Python3.
juste un avertissement que le choix n'est pas cryptographiquement aléatoire