Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2012 13:07:39

xrusteg
Зарегистрирован: 2012-12-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

К примеру имеется функция:

def name(a,b):
    c=a+b
   return c
print c
Почему выдается ошибка, что переменной C не присвоено значение?

Офлайн

#2 Дек. 20, 2012 13:14:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

Потому что эта самая с существует только в пространстве функции

def name(a,b):
    c=a+b
    return c
c=name(1,2)
print c



Офлайн

#3 Дек. 20, 2012 13:21:25

Evgen_irk
От: Иркутск
Зарегистрирован: 2009-02-02
Сообщения: 45
Репутация: +  4  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

Потому что инструкция

print c
находится в глобальной области. Это две разные переменные, хотя и называющиеся одинаково.
Вот пример использования функции:
def name(a, b):
    c = a + b
    return c
print name(2, 9)



wxPython

Офлайн

#4 Дек. 20, 2012 13:25:30

xrusteg
Зарегистрирован: 2012-12-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

А что тогда делает return и как вернуть значение переменной C в основную ветку программы?

Офлайн

#5 Дек. 20, 2012 13:30:53

Evgen_irk
От: Иркутск
Зарегистрирован: 2009-02-02
Сообщения: 45
Репутация: +  4  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

return возращает результат из функции в основной поток. Во 2 post был пример присвоения переменной “с” результата из функции.



wxPython

Офлайн

#6 Дек. 20, 2012 14:00:15

xrusteg
Зарегистрирован: 2012-12-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

а как использовать этот результат?

def radiant():
	radian=x*(3.14/180)
	print (radian)
	return radian
from math import cos
c=int(input("1ое слагаемое:"))
v=int(input("2ое слагаемое:"))
c=radiant()
v=radiant()		
d=cos(c)+cos(b)
print (d)
хотел сделать чтобы функция переводила углы в радианы и давала косинусу это посчитать, но не понимаю как сделать, чтобы вместо x в функцию подставлялись заданные значения

Офлайн

#7 Дек. 20, 2012 14:04:16

Evgen_irk
От: Иркутск
Зарегистрирован: 2009-02-02
Сообщения: 45
Репутация: +  4  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

Как-то так:

def radiant(x):
	radian=x*(3.14/180)
	print (radian)
	return radian
from math import cos
c=int(input("1ое слагаемое:"))
v=int(input("2ое слагаемое:"))
a=radiant(c)
b=radiant(v)		
d=cos(a)+cos(b)
print (d)



wxPython

Офлайн

#8 Дек. 20, 2012 19:25:38

smoke853
Зарегистрирован: 2012-10-02
Сообщения: 123
Репутация: +  15  -
Профиль   Отправить e-mail  

Объясните использование функций новичку

хотел сделать чтобы функция переводила углы в радианы

а чем не устраивает math.radians?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version