#python #if-statement #while-loop
#python #if-statement #цикл while
Вопрос:
Python с его отступами и отсутствием точек с запятой и скобок требует некоторого времени, чтобы я привык к … исходящему из C . Я уверен, что это легко исправить, но, похоже, я не могу найти проблему. Мы высоко ценим вашу помощь. Вот что у меня есть. Когда я запускаю этот код, он действует так, как будто второй оператор ‘if’ не существует. Даже если я закомментирую первый оператор ‘if’, строка печати во втором операторе ‘if’ никогда не выводится на экран:
import re
while True:
stringName = raw_input("Convert string to hex amp; 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)
Ответ №1:
Возвращаемое значение raw_input()
всегда является строкой, и никогда None
. Если вы хотите проверить наличие пустой строки ""
, вы можете использовать
if not string_name:
# whatever
Ответ №2:
raw_input
всегда возвращает строку и никогда None
. Ознакомьтесь с raw_input
справкой.
raw_input([приглашение]) -> строка
Прочитайте строку из стандартного ввода. Завершающая новая строка удалена. Если пользователь нажимает EOF (Unix: Ctl-D, Windows: Ctl-Z Return), вызовите EOFError. В Unix используется GNU readline, если она включена. Строка запроса, если она задана, печатается без перевода строки в конце перед чтением.