Используя условие оператора if, чтобы увидеть пользовательский ввод NULL и напечатать: "sometext ..." - PullRequest
0 голосов
/ 15 апреля 2011

Python с его отступами, без точек с запятой и скобок занимает некоторое время, чтобы привыкнуть к ... исходящему из C ++. Это, я уверен, легко исправить, но я не могу найти проблему. Ваша помощь очень ценится. Вот что у меня есть. Когда я запускаю этот код, он действует как второй оператор «если» не существует. Даже если я закомментирую первый оператор if, строка для печати второго оператора if никогда не выводится на экран:

import re


while True:
   stringName = raw_input("Convert string to hex & ascii(type stop to quit): ").strip()
   if stringName == 'stop':
      break
   if stringName is None: print "You must enter some text to proceed!"

   print "Hex value: ", stringName.encode('hex')
   print "ASCII value: ", ', '.join(str(ord(c)) for c in stringName) 

Ответы [ 2 ]

9 голосов
/ 15 апреля 2011

Возвращаемое значение raw_input() всегда является строкой и никогда None. Если вы хотите проверить пустую строку "", вы можете использовать

if not string_name:
    # whatever
1 голос
/ 15 апреля 2011

raw_input всегда возвращает строку и никогда None.Ознакомьтесь с raw_input help.

raw_input ([подсказка]) -> string

Считать строку из стандартного ввода.Конечный символ новой строки удаляется.Если пользователь нажимает EOF (Unix: Ctl-D, Windows: Ctl-Z + Return), поднимите EOFError.В Unix GNU readline используется, если включено.Строка подсказки, если она указана, печатается без завершающего символа новой строки перед прочтением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...