2016-02-07 2 views
-2

Я работаю над этим кодом Python для преобразования по Фаренгейту в цель и второго кода, который преобразует Цельсию в Фаренгейт. Я написал каждый код так же, используя (if/else), но всякий раз, когда я пытаюсь сделать первое условие истинным. Например, когда температура F = -400, я получаю ошибку NameError: name 'C' is not defined.NameError: имя 'C' не определено` error Converting Temperature

Я попытался изменить положение линии для C, чтобы он работал до последней строки печати. Но до сих пор не повезло. Вторая часть кода, которая преобразует C в F, запускается без этой ошибки. Я попытался поместить уравнение для C после последней строки печати, но по-прежнему ту же ошибку.

Это что-то, что я могу потерять в первой части, которая может помешать мне сделать первое условие истинным?

Я бегу на Python 2.7.10 и с помощью терминала на Mac OS X El Capitan (10,11)

Преобразование Фаренгейта в градусы Цельсия:

F = int(raw_input("Enter Temperature In Fahrenheit:")) 

if F >= (-459.67): 

    print "Temperature in absolute zero cannot be achieved" 

else: 

    C = F - 32 * (0.555556) 
print "The temperature is %.1f" 'C' % C 

Преобразовать Цельсия в градусы Фаренгейта:

C = int(raw_input("Enter Temperature In Celsius:")) 

if C <= (-273.15): 

    print "Temperature in absolute zero cannot be achieved" 

else:               

    print "The temperature is %.1f" 'F' % F     
F = C * (1.8) + 32 
+5

'if F> = -459.67' то' C' не определен. –

+0

Вы можете поднять ошибку, когда задан плохой ввод. Например: 'raise ValueError (« Температура в абсолютном нуле не может быть достигнута »). – Evert

+0

Обратите внимание, что 1/вы конвертируете в целое число' F = int (... ', но вы сравниваете значения с плавающей запятой в в следующей строке и 2/вы сравниваете значение Fahrenheit * выше * -459.67, чтобы считать входное значение неверным (но вы делаете это правильно при сравнении 'C <= -273.15'. (И нет, t нужны скобки вокруг этих значений float. Я не знаю, почему вы так думаете.) – Evert

ответ

0

Как говорят люди, существует множество ошибок. Одним из решений является:

F = float(raw_input("Enter Temperature In Fahrenheit:")) 
if F <= (-459.67): 
    print "Temperature in absolute zero cannot be achieved" 
else: 
    C = F - 32 * (0.555556) 
    print "The temperature is %.1f" 'C' % C 

# ---------------------------------------------------------- 

C = float(raw_input("Enter Temperature In Celsius:")) 
if C <= (-273.15): 
    print "Temperature in absolute zero cannot be achieved" 
else: 
    F = C * (1.8) + 32 
    print "The temperature is %.1f" 'F' % F 
+1

Спасибо, заменив float на int. Я также добавил переменную C после F, и я больше не вижу ошибку. –

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

  • Нет связанных вопросов^_^