2015-03-12 7 views
0

Я не задаюсь вопросом, как сделать этот флаг коды вверх «не слово» если числа типов пользователей в качестве ответа на этот вопросTry и кроме заявлений

question=input("What is the capital of England? ") 
question=question.lower() 

if question==(""): 
    print("Empty value") 
else: 
    try: 
     str(question) 
    except: 
     print("Not a word!") 
    else: 
     if question==("london"): 
      print ("Correct") 
     else: 
      print ("Wrong") 
+0

Что случилось с вводом цифр в качестве ответа? Когда я отступлю и сформирую суверенное королевство Кевинланд, я назову столицу моей страны «2342». Тогда ваш пользователь не сможет угадать все столицы мира, если вы отклоняете цифры! – Kevin

+0

Это не просто вопрос по этому вопросу, я просто хочу знать, как это сделать для будущих вопросов. – appreciationsociety

+0

FWIW, кроме того, что 'input()' возвращает строку, поэтому 'question' уже является строкой, и поэтому 'str (question)' просто возвращает дубликат этой строки, для 'str (some_object)' не обязательно: вам нужно создать класс, который вызывает исключение в его методе '__str__' (или' __repr__')). –

ответ

1

У вас есть некоторые синтаксические ошибки, но есть нет реальная потребность в try-except здесь для ваших целей и намерений, потому что все введенные пользователем данные уже строка. str(question) будет работать практически в любом случае. Вы могли бы просто использовать .isalpha(), чтобы ограничить ввод алфавитных символов, а if-elif-else:

if question==(""): 
    print("Empty value") 
else: 
    if not question.isalpha(): 
     print("Not a word!") 
    elif question == "london": 
     print("Correct") 
    else: 
     print("Wrong") 
+0

Да, согласен. Вероятно, вы должны упомянуть, что все входные данные принимаются как строка, поэтому нет необходимости пытаться и исключать. –

+0

@MalikBrahimi Edited, спасибо :) – HavelTheGreat

+0

вопрос = INT если вопрос == (" ") (вход()" Что Беверли Хиллз Индекс?"): печать ("пустое значение") еще: если не question.isnumeric(): печати ("не число") Элифа вопроса == (90210): печати ("правильного") еще: печати ("Неправильного") – appreciationsociety

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

  • Нет связанных вопросов^_^