Уведомления

Группа в Telegram: @pythonsu

#1 Май 27, 2014 09:26:17

valeriya0496
Зарегистрирован: 2014-05-27
Сообщения: 7
Репутация: +  -3  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

Дана последовательность вещественных чисел, оканчивающаяся числом 10000. Количество чисел в последовательности не меньше двух. Определить, является ли последовательность упорядоченной по возрастанию. В случае отрицательного ответа определить порядковый номер первого числа, нарушающего такую упорядоченность.

Офлайн

#2 Май 27, 2014 16:32:05

MindHatter
Зарегистрирован: 2014-05-09
Сообщения: 20
Репутация: +  3  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

Это должно помочь.

>>> a = [0,1,2,3,5,6,4,7]
>>> a == sorted(a)
False
>>> a
[0, 1, 2, 3, 5, 6, 4, 7]
>>> if a != sorted(a):
	for i in zip(a, sorted(a)):
		if i[0] != i[1]:
			print(a.index(i[0]))
			break		
4

Офлайн

#3 Май 27, 2014 17:38:47

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

MindHatter

Зря ты так извращаешься.
Тут просто нужно сравнивать два соседних числа и если условие нарушается, делать return



Офлайн

#4 Май 27, 2014 18:05:40

MindHatter
Зарегистрирован: 2014-05-09
Сообщения: 20
Репутация: +  3  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

Поподробнее можно? Что за соседние числа? И чем их сравнение будет отличаться от преложенного варианта?

Офлайн

#5 Май 27, 2014 18:23:05

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

MindHatter
Что за соседние числа?
[1, 2, 3, 4, 5, 6, 7, 8, 9]
1<2
2<3

MindHatter
И чем их сравнение будет отличаться от преложенного варианта?
Ты бессмысленно сортируешь список несколько раз. Используешь два списка, вместо одного исходного. Делаешь print break вместо return.



Офлайн

#6 Май 27, 2014 18:26:41

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

Поддерживаю Budulianin

def is_sorted(arr):
    for i in range(1,len(arr)):
        if arr[i-1] > arr[i]:
            return arr[i]
    return True

Отредактировано Singularity (Май 27, 2014 18:31:41)

Офлайн

#7 Май 27, 2014 21:29:28

Dark95
Зарегистрирован: 2014-05-27
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

Вы не могли бы, пожалуйста, полностью написать программу или показать, в чем моя ошибка

import random
a=range(10001)
n=int(input('Vvedite kol-vo chlenov'))
for i in range(1, n+1):
    a[i]= random.randrange(10000)
print(a[i])
i=1
s=1
while s!= 0:
    if (a[i + 1]) < (a[i]):
        print('Первое число,нарушающее упорядоченность : ', a[i + 1])
    s=0
    i= i + 1
    if i == n:
        break
    if s != 0:
        print('Последовательность упорядочена')

Отредактировано Dark95 (Май 27, 2014 21:33:54)

Офлайн

#8 Май 28, 2014 01:04:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

>>> def f(seq):
...     assert len(seq) > 1
...     i = 1
...     while True:
...         if seq[i - 1] > seq[i]:
...             return i + 1
...         if seq[i] == 10000:
...             break
...         i += 1
...     return 0
... 
>>> f([1, 10000])
0
>>> f([1, 2, 10000])
0
>>> f([1, 2, 3, 10000])
0
>>> f([1, 2, 3, 1, 10000])
4
>>> f([1, 2, 3, 3, 10000])
0
>>> f([1, 2, 3, 10001, 10000])
5
>>>



Офлайн

#9 Май 28, 2014 15:27:18

valeriya0496
Зарегистрирован: 2014-05-27
Сообщения: 7
Репутация: +  -3  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

а что делать,если они все не работают?может кто-нибудь написать полную программу,пожалуйста?

Офлайн

#10 Май 28, 2014 15:35:47

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Дана последовательность вещественных чисел, оканчивающаяся числом 10000

valeriya0496
а что делать,если они все не работают?может кто-нибудь написать полную программу,пожалуйста?

Что именно не работает?
Это полные программы.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version