Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простой вопрос. Начинаю изучать/функции 
:(
    Опции темы
sdsdsdsd
Дата 19.5.2008, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Здравствуйте.  Вот цитата из книги "Напишите функцию compare(x, y), сравнивающую x и y  и возвращающую следующие значения: compare(x, y) = 1, если x > y, 0 если x = y, -1 если x < y"..... и т.д.

Код
x = 50
y = 60
if x > y:
 print "1"
if x == y:
 print "0"
if x < y:
 print "-1"

Все нормально, но как реализовать функцию. Честно скажу, перечитывал несколько раз главу про функции, мало чего понял.
Код
def compare(x, y):
    compare(x) = 60
    compare() = 50
    if compare(x) > y:
    print "1"

Как обычно не работает. Прошу помочь разобраться с данным вопрос.
Спасибо.
PM MAIL   Вверх
Daevaorn
Дата 20.5.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



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

def compare( x, y ):
 if x > y:
  return "1"
 if x == y:
  return "0"
 if x < y:
  return "-1"

для проверки
Код

print compare( 10, 5 )
print compare( 7, 7 )
print compare( 5, 10 )

PM MAIL WWW   Вверх
sdsdsdsd
Дата 20.5.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Спасибо. Но всеравно пока функции для меня это темный лес, наверно сам принцип не очень понятен.

Это сообщение отредактировал(а) sdsdsdsd - 20.5.2008, 00:29
PM MAIL   Вверх
sdsdsdsd
Дата 21.5.2008, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Все же хотелось бы увидеть пример легких и т.п. функций с коментариями.
Зарание спасибо.
PM MAIL   Вверх
doomik
Дата 21.5.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Одинокий волк
**


Профиль
Группа: Участник
Сообщений: 360
Регистрация: 25.10.2005
Где: #vingrad

Репутация: нет
Всего: 15



print - печатает а return возвращает.

Код

def compare( x, y ):

def - ключевое слово для объявление функции
compare - имя функции
(x, y) - параметры (переменные) которые будут переданы в функцию


Код

def slojit_chisla(number1, number2): # сложение 2-ух чисел
   symma = number1 + number2 # сложение чисел и помещение результата в symma
   return symma  # возвращение переменной symma



Код

# простой калькулятор, допустим num1 = 4, num2 = 2, znak = "+" 
def calculate_me(num1, num2, znak):
   if znak == "-":
      return num1 - num2
   if znak == "+": 
      return num1 + num2 # выполнится этот return
   if znak == "*":
      return num1 * num2


функция вернёт 6.



Это сообщение отредактировал(а) doomik - 21.5.2008, 08:38


--------------------
"Единственный способ изучать новый язык программирования - писать на нем 
программы." 
- Brian Kernighan

Remember, st1ng3r 
/server irc.ircline.ru /j #vingrad
PM   Вверх
DeimosKZ
Дата 27.2.2013, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.2.2013

Репутация: нет
Всего: нет



Добрый день начал изучать Python.

Появилась проблема, Python Shell v.2.7.3 Windows не влспринимает функции elif и else.
Только if.

choice=raw_input('Input your choice, please (1 or 2): ')
if choice == "1":
    function1()
    
    elif choice == "2":
        function2()
        
        else:
            print "Invalid choice!"
            print "Thak you!"

В данном примере  на функцию elif выдаётся ошибка SyntaxError: invalid syntax

Как можно решить эту проблему?

Заранее спасибо!
PM MAIL   Вверх
похмелье
Дата 27.2.2013, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.2.2009

Репутация: нет
Всего: 1



DeimosKZ, "лесенка" же, elif и else должны иметь тот же отступ что и if.
Код

if smth1:
    foo()
elif smth2:
    bar()
else:
    baz()

PM   Вверх
DeimosKZ
Дата 27.2.2013, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.2.2013

Репутация: нет
Всего: нет



Спасибо! Не знал. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.