2015-08-19 5 views
1

Мне нужно ввести некоторые ошибки в моей программе. Моя программа берет строку текста от пользователя, но этот текст должен содержать только буквы и пробелы. Я попытался ввести некоторые ошибки обработки, но я хочу улучшить его. Когда пользователь вводит что-то другое, кроме буквы или пробела, я печатаю сообщение об ошибке, но код под ним все еще выполняется. Когда пользователь вводит что-то, что не является буквой или пробелом, я хочу, чтобы сообщение об ошибке было напечатано, и программа завершилась.Мне нужно ввести некоторые ошибки в моей программе

print "" 

# To God be the Glory 

text = raw_input("Please enter a line of text: ") 
text_lower = text.lower() 

Я хочу, чтобы моя обработка ошибок, которые будут введены здесь таким образом, что если пользователь вводит что-то, что не является буква или пробел программа выведет сообщение об ошибке и пользователь не будет запрошен ключ.

print "" 
key = int(input("Please enter a key: ")) 


def ascii_func (text) : 

Это метод обработки ошибок я попытался это признает, если есть неправильный ввод, но до сих пор выполняет код под ним.

for charc in text_lower: 
     if charc not in ["a","b","c","d","e","f","g","h","i","j","k","l","m","n",\ 
    "o","p","q","r","s","t","u","v","w","x","y","z"," "]: 
     print "Error input is not correct" 
     break 

    result = '' 

    print "" 

    for charc in text: 


     if charc != " " : 
      charc = ord(charc) 
      charc = (charc - 97) + key 
      charc = (charc % 26) 
      charc = charc + 97 
      charc = chr(charc) 

     result += charc 

    print result 

ascii_func(text)   

ответ

1

break только выходит из цикла цикла. Не программа или функция. Вы можете использовать return для выхода из функции, или, если вы полностью остановите скрипт, вы можете использовать один из вариантов shown here.

0

Достаточно простой способ сделать это, как показано ниже.

fail = False 
for charc in text_lower: 
    if charc not in acceptable list: 
     fail = True 
     print "bad input" 
     break 

if not fail: 
    #rest of your code goes here 

Много более приятных способов существования. Например, вы должны прочитать try... except.

Для ваших целей, вероятно, уборщик путь

import sys 
for charc in text_lower: 
    if charc not in acceptable list: 
     sys.exit("bad input") 
#rest of your code. 
Смежные вопросы