Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def removeInvalidLetters(nextLetter, code, validLetters):
- '''
- Inputs:
- - The next letter in the code that already appeared in the code
- - The code
- - The current list of valid characters
- Output:
- - An updated list with valid characters. The nextLetter and all characters after it are removed
- '''
- indexLetter = code.find(nextLetter)
- for index in range(indexLetter, len(code)):
- character = code[index]
- if character in validLetters:
- validLetters.remove(code[index])
- return validLetters
- def generateCode(length):
- '''
- Input: the length of the code you want
- Output: a code of the specified length that has only one solution
- '''
- code = ""
- validLetters = list(map(chr, range(65, 91)))
- for i in range(length):
- nextLetter = validLetters[random.randint(0, len(validLetters)-1)]
- if nextLetter in code:
- validLetters = removeInvalidLetters(nextLetter, code, validLetters)
- code += nextLetter
- return code
- print(generateCode(27))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement