Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 16, 2014 15:19:07

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

Помогите доделать задание:
нужно проверить правильность того, что пользователь ввел то число которое требуется по условию. В случае промаха- вывести ошибку и повторно запросить число:
def INPT():
b=float(input('введите нецелое, положительное число:'))
while not(b > 0 and b==float(b)):
raise NameError('Введите правильные значения!')
Вопрос: как повторно запросить число?

Офлайн

#2 Окт. 16, 2014 22:12:06

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Вложеные списки

def inpt():
    err = ''
    while True:
        b = input(err + 'введите нецелое, положительное число:')
        try:
            b = float(b)
            assert b > 0 and b != int(b)
            break # или return b
        except:
            err = 'неверно, ещё раз, '

Офлайн

#3 Окт. 16, 2014 22:37:44

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

благодарю)

Офлайн

#4 Окт. 17, 2014 22:53:29

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

Доброго всем времени суток) У меня снова заминка;( Помогите кто может!
a=
for i in range(255):
i=random.randint(-6,6)
a.append(i)
В этом списке нужно:
• Определить в последовательности самую длинную субпоследовательность, состоящую из возрастающих значений. Вывести номер начального элемента и содержимое этой субпоследовательности.
• Определить в последовательности самую длинную субпоследовательность, все элементы которой больше среднего значения всей последовательности. Вывести номер начального элемента и содержимое этой субпоследовательности.
Заранее спасибо)

Офлайн

#5 Окт. 18, 2014 09:06:23

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

Вложеные списки

@mary@,
Вас всё устраивает во внешнем виде вашего куска кода? Нет желания оформить его более красиво, с отступами и потерявшимися куда то скобками?

[code python][/code]



Офлайн

#6 Окт. 18, 2014 10:21:05

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

Это в этих скобках нужно писать свой код?
]

Офлайн

#7 Окт. 18, 2014 10:21:41

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

я не совсем поняла

Офлайн

#8 Окт. 18, 2014 10:43:26

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

Вложеные списки

[code python]... Ваш код тут ...[/code]
вот результат:
a=[]
for i in range(255):
    i=random.randint(-6,6)
    a.append(i)



Отредактировано Nata (Окт. 18, 2014 10:47:52)

Офлайн

#9 Окт. 18, 2014 19:00:19

@mary@
Зарегистрирован: 2014-09-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеные списки

ага, спасибо)

Офлайн

#10 Окт. 18, 2014 21:55:33

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Вложеные списки

import random
def foo(lst, mode='query 1'):
    L = [[]]
    if mode == 'query 2':
        av = sum(lst) / float(len(lst))
    for n, i in enumerate(lst):
        if not L[-1]:
            if mode == 'query 2' and av >= i:
                continue
            L[-1] = [n, [i]]
        elif L[-1][1][-1] < i:
            L[-1][1].append(i)
        else:
            L.append([])
    return sorted(L, key=lambda x: -(not x) or len(x[-1]))[-1]
lst = [random.randint(-6, 6) for _ in range(255)]
print 'query 1. ind: {0}, seq: {1}'.format(*foo(lst,  'query 1'))
print 'query 2. ind: {0}, seq: {1}'.format(*foo(lst,  'query 2'))
если я правильно понял задание

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version