2015-03-03 4 views
1

Я очень новичок в python (делаю это как курс первого курса в университете), и я установил Windide, как рекомендовано специалистами курса, а также пакет Python 3.4.2 для Mac ОС 10.6. Я запускаю Yosemite на 13-дюймовом Macbook Air, если эта информация вообще не полезна.Общие ошибки Python на Yosemite

Основная проблема, с которой я столкнулся, заключается в том, что я, кажется, получаю ошибки, выброшенные на меня со всех сторон, когда я пытаюсь выполнить код почти во всех случаях. Сначала я объяснил, почему я делаю синтаксические и логические ошибки, но я быстро пришел к выводу, что это не так, поскольку даже примеры моделей, которые мой преподаватель предоставил нам, не будут работать.

Ниже приведен пример кода, который я пытался бежать, а также выход:

number_1 = eval (input ("Enter the first number: ")) 
number_2 = eval (input ("Enter the second number: ")) 

sum = number_1 + number_2 

print ("The sum of the numbers",number_1,"and",number_2,"is",sum) 



Enter the first number: 2 
Traceback (most recent call last): 
    File "/Users/damonlurie/Documents/CSC1005F/Examples/Python Basics/add.py", line 5, in 0 
TypeError: eval() arg 1 must be a string or code object 

Я, очевидно, не конечно, почему это происходит

ответ

1

input() уже использует eval() на входе. Вы можете либо избавиться от eval(), либо заменить input() на raw_input().

Использование

number_1 = input("Enter the first number: ") 
number_2 = input("Enter the second number: ") 
sum = number_1 + number_2 

или

number_1 = eval(raw_input("Enter the first number: ")) 
number_2 = eval(raw_input("Enter the second number: ")) 
sum = number_1 + number_2 
0

компьютеры Macintosh поставляется предустановленным с Apple, определенным портом Python 2. Во все вероятности, что скрипт выполняются как сценарий Python 2, а не на Python 3 вы установили. Попробуйте настроить, как описано в видеоролике this.

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