2015-02-17 4 views
-2
if volt.isalpha() or res.isalpha() or amp.isalpha(): 

Что я здесь сделал неправильно? Я получаю INVALID SYNTAX, я использую это для программы калькулятора, которую я делаю. Он вычисляет напряжение, сопротивление и ток. Но это легкая часть, я просто пытаюсь сделать это безумным доказательством. У меня есть 3 переменные в коде (volt, amp, res), которые вводятся пользователем. Я просто хочу убедиться, что они не набирают ничего глупого. Как буквы, например. ...IF, неверная синтаксическая ошибка

try: 
    float(volt) >= 0 and float(res) >= 0 and float(amp) >= 0 
    print("") 
    print("You put a value for everything. You don't need the calculator.") 
    allowed = 0 

if volt.isalpha() or res.isalpha() or amp.isalpha(): 
    print("You typed in characters for one of the values, this calculator doesn't use letters.") 
    allowed = 0 

def find_voltage(a,b): # V = I * R 
    voltage = a * b 
    return(voltage)` 
+2

Можете ли вы разместить раздел кода этой строки? Возможно, это проблема с отступом. – radiaph

+0

Я очень новичок на этом сайте, как бы я это сделал? c: –

+3

Нажмите [изменить], вставьте код в свой вопрос, выделите его и нажмите кнопку '{}' на панели инструментов, чтобы правильно отформатировать его. – MattDMo

ответ

3

Вы не имеете except блок после try - это необходимо. Сделайте что-то вроде:

try: 
    float(volt) >= 0 and float(res) >= 0 and float(amp) >= 0 
    print("") 
    print("You put a value for everything. You don't need the calculator.") 
    allowed = 0 
except ValueError: 
    print("Oops, you messed up.") 

Кроме того, линия

float(volt) >= 0 and float(res) >= 0 and float(amp) >= 0 

ничего не делает. Вам нужно будет присвоить его переменной, а затем проверить результаты переменной - если True, сделать одно, если False, сделать что-то еще.

+0

Хорошо, спасибо, я попробую это. –

+0

@SamHolmes убедитесь, что вы видите мое редактирование выше - первая строка в вашем блоке 'try' ничего не делает. – MattDMo

+0

'try: float (volt)> = 0 и float (res)> = 0 и float (amp)> = 0 print (" ") print (" Вы ставите ценность для всего. калькулятор. ") allowed = 0 за исключением ValueError: allowed = 1' –

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