Проверка данных – Python 2.7

Это код, который я до сих пор редактировал для предстоящего предварительного кода AS. Это домашнее задание, и я зациклен на том, почему он не работает. Какие-либо предложения? благодаря

def GetKeyForCaesarCipher(): while True: key = int(raw_input('Enter the amount that shifts the plaintext alphabet to the ciphertext alphabet: ')) try: i = int(key) break except ValueError: print 'please enter an interger' return (key) 

One Solution collect form web for “Проверка данных – Python 2.7”

вы должны просто сделать key = raw_input(...) а не key = int(raw_input(...))

С первым key является строка, пока вы не try сделать ее целым числом. С последним вы пытаетесь сразу построить int из него, не защищая эту попытку при обработке исключений.


Есть и другие логические недостатки. Прямо сейчас ваш бесконечный цикл while не делает ничего, например. (вы возвращаетесь после первого прохода, независимо от того, что). Перемещение return статута, в котором происходит break , вероятно, заставит его делать то, что вы хотите. Кроме того, вы ничего не делаете с int который вы строите ( i ), хотя неясно, следует ли вам возвращать его или key .

* Я делаю предположения о том, что ваша программа должна делать здесь …

  • UnboundLocalError: локальная переменная 'L', на которую ссылаются перед назначением Python
  • Скремблирование второй страницы веб-сайта в Python не работает
  • Написание и чтение одного и того же файла csv в Python
  • Не удалось импортировать MongoClient
  • Python - разбиение предложения после слов, но с максимальным количеством n символов в результате
  • Эффективное вычисление ковариации с потоковыми данными возвращается в numpy
  • Сельдерей «Приступая к работе» не может получить результаты; всегда ожидающий
  • Ошибка при использовании тегатора библиотеки python textblob
  • Python - лучший язык программирования в мире.