2013-05-23 3 views
-1

Как я уже немного продвинулся в Python, я решил попробовать функцию определения. Я сделал этот простой калькулятор с квадратным корнем. Пожалуйста, объясните как можно проще?Квадратный корень и функция def?

import math 

def mathprob(x): 
    math.sqrt(x) 

yn = input() 
num = int(input("Enter number to be square rooted.")) 

if yn == 'sqrt': 
    ans = mathprob(num) 
    print(ans) 

elif yn == '': 
    print("bye! :(") 
    quit() 
+2

объясните, что? Каков ваш вопрос? – mgilson

+0

Ха-ха извините. Но когда я набираю число, которое должно быть квадратным, программа просто останавливается – user2340615

+0

Вы уверены, что печатаете '' sqrt'', прежде чем вводить номер? Если вы это делаете, вы должны хотя бы увидеть «Нет». – mgilson

ответ

3

Вы должны возвращения значение из вашей функции, в противном случае она возвращает None:

def mathprob(x): 
    return math.sqrt(x) 
+0

Спасибо! Я сократил свой код, так как «yn» был не так полезен – user2340615

1

Вы должны фактически вернуть что-то из вашей функции, вы можете сделать это следующим образом:

def mathprob(x): 
    return math.sqrt(x) 
+0

OP, вероятно, использует Python 3, учитывая использование print(), поэтому raw_input не требуется. –

+0

О, это изменилось в Python 3? Я этого не знал. – Mezgrman

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