2016-06-28 5 views
0

Я создаю функцию, которая проверяет ввод и выдает, если вход не в правильной форме. Тем не менее, я получаю сообщение об ошибке, что sys.exit() является «недопустимым синтаксисом». Любая помощь приветствуется!Sys.exit(), бросающий синтаксическую ошибку

import re 
import sys 

def my_program(x): 
# takes input in form '#d#' 
    if re.match('\d\w\d', x) is False: 
     print('Format of input must be '#d#') 
    sys.exit() 
+0

Посмотрите на подсветку синтаксиса ... – TigerhawkT3

+2

скопировать и вставить трассировки стека. FYI, код, который у вас там, работает так, как написано для меня. –

+0

Совет: не используйте синтаксис типа 'is False'. Скорее, добавьте условие с 'not'. -> 'if not re.match (...):' – pushkin

ответ

2

Проблема не с sys.exit(), но с линией над ней.

У вас есть дополнительная цитата.

print('Format of input must be #d#') 
+0

Я исправил кавычки, но он по-прежнему дает ту же ошибку – boson

0

Вы должны либо избежать строки в операторе печати или использовать сочетание одинарных и двойных кавычек в операторе печати. sys.exit() выглядит хорошо.

print('Format of input must be \'#d#\'') 

или

print("Format of input must be '#d#'") 
+0

Даже с фиксированными кавычками я получаю ту же ошибку – boson

+1

@boson, Можете ли вы вставить новый код и полную ошибку? –

Смежные вопросы