Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 5, 2015 13:01:46

mixtaper
Зарегистрирован: 2015-12-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

Подскажите пожалуйста, где ошибка?

from Tools.scripts.treesync import raw_input
m = raw_input("Введите 1 для вызова первой функции: ")
if m == "1":
    def f_print():
        return "Вы ввели число 1"
else:
    def f_print():
        return "Альтернативная функция"
print (f_print())
    return r

Каждый раз выводит одно и тоже что бы задал

Отредактировано mixtaper (Дек. 5, 2015 13:03:52)

Офлайн

#2 Дек. 5, 2015 14:05:54

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Где ошибка?

Ошибка во всем. Но видимо вы хотели фабрику функции, как то так:

# -*- coding: utf-8 -*-
def factory_func(value):
    def f():
        return value
    return f
m = raw_input("Введите 1 для вызова первой функции: ")
if m == "1":
    f_print = factory_func(u'Вы ввели число 1')
else:
    f_print = factory_func(u'Альтернативная функция')
print(f_print())



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Дек. 5, 2015 14:47:24

mixtaper
Зарегистрирован: 2015-12-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

Этот пример есть в книге Прохоренок, но у меня он не выполняется

не понимаю, я тоже ввожу 1 и выходит альтернативная функция

Отредактировано mixtaper (Дек. 5, 2015 14:51:07)

Офлайн

#4 Дек. 5, 2015 16:35:54

Nikulio
От: Берлин
Зарегистрирован: 2015-11-20
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

fix

Первое предупреждение: оффтоп,ответ не по существу, пренебрежительное высказывание в адрес тех кто использует все еще актуальную версию Питона


Отредактировано JOHN_16 (Дек. 6, 2015 00:57:30)

Офлайн

#5 Дек. 5, 2015 17:14:48

mixtaper
Зарегистрирован: 2015-12-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

А как будет в 3 выглядеть?

Офлайн

#6 Дек. 5, 2015 19:28:15

mixtaper
Зарегистрирован: 2015-12-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

Сюда же ещё один вопрос добавлю…

a = []
a.append(input())
i = 0
while a[i] != 0:
    print(a[i])
    a.append(input())
    i += 1

пишет, что попытка считать из входных данных, которые уже закончились

как так то, есть же ограничение в ноль?!

Офлайн

#7 Дек. 5, 2015 19:40:57

mixtaper
Зарегистрирован: 2015-12-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

Почему программа не прерывается, когда я ввожу 0

Офлайн

#8 Дек. 5, 2015 20:36:38

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Где ошибка?

А вы посмотрите тип объекта, который вы добавляете в конец списка…
P.S. ‘0’ != 0

FIX: правильно не =! , а !=

Отредактировано JOHN_16 (Дек. 6, 2015 01:03:32)

Офлайн

#9 Дек. 5, 2015 23:02:28

orionit
Зарегистрирован: 2015-12-01
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Где ошибка?

mixtaper
Почему программа не прерывается, когда я ввожу 0
Вы вводите не 0, а ‘0’ т.е не число, а строку вот он и не реагирует.
Вот так будет работать.
a = []
a.append(int(input()))
i = 0
while a[i] != 0:
    print(a[i])
    a.append(input())
    i += 1	

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version