Найти - Пользователи
Полная версия: Вложеные списки
Начало » Python для новичков » Вложеные списки
1 2 3 4 5
@mary@
Помогите доделать задание:
нужно проверить правильность того, что пользователь ввел то число которое требуется по условию. В случае промаха- вывести ошибку и повторно запросить число:
def INPT():
b=float(input('введите нецелое, положительное число:'))
while not(b > 0 and b==float(b)):
raise NameError('Введите правильные значения!')
Вопрос: как повторно запросить число?
dimy44
def inpt():
    err = ''
    while True:
        b = input(err + 'введите нецелое, положительное число:')
        try:
            b = float(b)
            assert b > 0 and b != int(b)
            break # или return b
        except:
            err = 'неверно, ещё раз, '
@mary@
благодарю)
@mary@
Доброго всем времени суток) У меня снова заминка;( Помогите кто может!
a=
for i in range(255):
i=random.randint(-6,6)
a.append(i)
В этом списке нужно:
• Определить в последовательности самую длинную субпоследовательность, состоящую из возрастающих значений. Вывести номер начального элемента и содержимое этой субпоследовательности.
• Определить в последовательности самую длинную субпоследовательность, все элементы которой больше среднего значения всей последовательности. Вывести номер начального элемента и содержимое этой субпоследовательности.
Заранее спасибо)
FishHook
@mary@,
Вас всё устраивает во внешнем виде вашего куска кода? Нет желания оформить его более красиво, с отступами и потерявшимися куда то скобками?
[code python][/code]
@mary@
Это в этих скобках нужно писать свой код?
]
@mary@
я не совсем поняла
Nata
[code python]... Ваш код тут ...[/code]
вот результат:
a=[]
for i in range(255):
    i=random.randint(-6,6)
    a.append(i)
@mary@
ага, спасибо)
dimy44
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'))
если я правильно понял задание
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB