2012-05-01 2 views
1

Пожалуйста, проигнорируйте пример, это просто книга, в которой я в настоящее время учился.Начинающий учебник по учебнику Python

Я запускаю это в Netbeans 6.9.1, поскольку 7 не поддерживает Python :(и я получаю сообщение об ошибке при попытке запустить его в выходной консоли. Код точный относительно того, что написано в текстовая книга. Единственное, что я могу придумать, это то, что чистые бобы поддерживают только 2.7.1, но книга, которую я изучаю, - это Python 3.1. Может ли это быть проблемой? Пожалуйста, дайте мне знать, если я что-то упустил.

Вот основной сценарий;.

# Word Problems 
# Demonstrates numbers and math 

print("If a 2000 pound pregnant hippo gives birth to a 100 pound calf,"); 
print("but then eats 50 pounds of food, how much does she weigh?"); 
input("Press the enter key to find out."); 
print("2000 - 100 + 50 =", 2000 - 100 + 50); 

input("\n\nPress the enter key to exit"); 


Traceback (most recent call last): 
    File "/Users/Steve/Desktop/NewPythonProject/src/newpythonproject.py", line 6, in <module> 
    input("Press the enter key to find out."); 
    File "<string>", line 0 

^ 
SyntaxError: unexpected EOF while parsing 

-Спасибо, ребята

+4

Как примечание, вам не нужны полуколоны в конце строк в Python. –

+1

для изучения python> = 3 вам обязательно нужно использовать интерпретатор python 3. –

ответ

5

Проблема в том, что input() означает что-то другое в Python 3.x. В Python 2.x эквивалентная функция равна raw_input().

Просто замените звонки на input() с них, чтобы raw_input() и он будет работать, как ожидалось:

# Word Problems 
# Demonstrates numbers and math 

print("If a 2000 pound pregnant hippo gives birth to a 100 pound calf,") 
print("but then eats 50 pounds of food, how much does she weigh?") 
raw_input("Press the enter key to find out.") 
print("2000 - 100 + 50 =", 2000 - 100 + 50) 

raw_input("\n\nPress the enter key to exit") 

Причина это вызвало проблемы в том, что в Python 2.x, input() принимает пользовательский текст, а затем интерпретирует его как выражение в Python. Поскольку вы давали ему пустую строку, которая является недопустимым выражением, она выдает исключение.

Я бы предложил использовать другой редактор, если вы изучаете Python 3.x. PyCharm велик (хотя и не свободен), и Eclipse + Pydev там. Честно говоря, вы действительно не нужны IDE для Python - хороший текстовый редактор, такой как Gedit, который поддерживает подсветку кода - это все, что вам действительно нужно.

Также обратите внимание, что я удалил точки с запятой, которые являются полностью избыточными в Python.

+0

«интерпретирует его» * ​​как выражение Python *, чтобы быть конкретным. –

+0

@ KarlKnechtel Добавлено разъяснение. –

+0

Большое спасибо за быстрый ответ :) Я посмотрю на PyCharm. –

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