2016-04-25 1 views
0

мне нужно добавить int в Offset для каждого номера в Code Это как я сделал OffsetКак бы Добавьте Int в этой переменной для каждого междунар в этом списке

num1 = (randint(33,126)) 
num2 = (randint(33,126)) 
num3 = (randint(33,126)) 
num4 = (randint(33,126)) 
num5 = (randint(33,126)) 
num6 = (randint(33,126)) 
num7 = (randint(33,126)) 
num8 = (randint(33,126)) 
key1 = chr(num1) 
key2 = chr(num2) 
key3 = chr(num3) 
key4 = chr(num4) 
key5 = chr(num5) 
key6 = chr(num6) 
key7 = chr(num7) 
key8 = chr(num8) 
characterkey = (key1 + key2 + key3 + key4 + key5 + key6 + key7 + key8) 
Label(window2, text = characterkey, font = font, bg = "Dim grey", fg = "cyan").place(x = 130, y = 300) 
offset = int(num1+num2+num3+num4+num5+num6+num7+num8) 
offset = int(offset/8) 
offset = int(offset - 32) 
print(offset) 

Я конвертировали текстовый файл в его ASCII-код здесь

Code =" ".join(str(ord(char))for char in readFile) 

Но мне нужно, чтобы добавить смещение к каждому Старинное Ascii кодекс в кодексе и после того, как смещение добавляется, если он равен более 126 то это будет минус 94

+0

Не могли бы вы * пожалуйста * использовать имена в нижнем регистре для переменных (см [PEP 8] (https://www.python.org/dev/ Peps/PEP-0008 /))? – CodenameLambda

ответ

0

Я не совсем уверен, что вы хотите сделать, но вот мое предположение:

Если вы хотите, чтобы иметь возможность быстро увидеть, что он делает:

Code = " ".join(map(str, [char + offset - 94 if char + offset > 126 else char + offset for i in map(ord, readFile)])) 

Или когда вы заботитесь скорость (потому что символ + смещение получает рассчитывается дважды в приведенном выше примере):

Code = " ".join(map(str, [(lambda x: x if x <= 126 else x - 94)(char + Offset)) for char in map(ord, readFile)]))