Я учусь Python, и у меня возникает проблемы с этим простым фрагментом коды:Проблемы с кодом простого Python
a = raw_input('Enter a number: ')
if a > 0:
print 'Positive'
elif a == 0:
print 'Null'
elif a < 0:
print 'Negative'
Он отлично работает, за исключением того, что он всегда печатает «Позитивный», независимо от того, введите ли я положительное или отрицательное число или ноль. Я предполагаю, что есть простое решение, но я не могу найти его ;-)
Заранее спасибо
Спасибо! Работала ;-) – trolle3000
Причина input() работает таким образом, потому что все, что набирается пользователем, оценивается интерпретатором ... что очень опасно.Поиск в Интернете даст множество причин, но достаточно сказать, что выполнение int (raw_input()) в try-catch должно рассматриваться как лучшая практика. – nilamo
Правда, вы можете найти обсуждение этого вопроса: http://mail.python.org/pipermail/tutor/2003-January/019634.html Исходный пример полезен для того, чтобы получить человека, который является новым для python going , После того, как вы начнете рассматривать обработку ошибок, вы захотите проверить все и все пользовательские данные, и в этот момент raw_input (...) окажется более полезным. –