Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2017 14:19:24

roman15
Зарегистрирован: 2017-02-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Накопление значения функций

Почему при вызове функции она накапливает значение?????
Буду очень благордарен за помощь.


 """ Шифр Цезаря"""
import string
numbers = range(0, 26)
letters =list(string.ascii_lowercase)
code = dict(zip(letters, numbers))
word =WTAAD #input('Enter your word: ') 
my_key=15
word_code=[]
word_uncode=[]
def codee(key):
  for chr in word:
    word_code.append((letters[(code[chr] + key) % 26].upper()) )
  print(word_code)
def uncode(my_key):  
  for chr in word.lower():
    word_uncode.append(letters[(code[chr] - my_key + 26) % 26])
  print("".join(word_uncode))
for i in range(0,26):
  uncode(i)
input()



Офлайн

#2 Фев. 19, 2017 14:36:00

wi34rd
Зарегистрирован: 2016-10-08
Сообщения: 89
Репутация: +  2  -
Профиль   Отправить e-mail  

Накопление значения функций

 word_code=[]
word_uncode=[]
Это нужно объявлять внутри функций.

Офлайн

#3 Фев. 19, 2017 15:05:24

roman15
Зарегистрирован: 2017-02-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Накопление значения функций

wi34rd
Спасибо за помощь
нужно просто очисть список после каждого вызова функции
 for i in range(0,26):
  uncode(i)
  word_uncode.clear()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version