Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2016 20:23:00

dima757
Зарегистрирован: 2016-06-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных элементов.

a = [int(i) for i in input().split()]
n = 0
for i in range(len(a)):
    if a[i] != a[i + 1]:
        n += 1
print(n)    
на пример 1 2 3 4 8, выводит 5

Офлайн

#2 Июнь 29, 2016 20:36:14

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

с задачей помогите плиззз

Что не получается?

Офлайн

#3 Июнь 29, 2016 20:43:54

dima757
Зарегистрирован: 2016-06-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

выводит меньше чем есть в списке

a = [int(i) for i in input().split()]
n = 0
b = 0
for i in range(len(a)):
if a[i] != a[n]:
n = i
b += 1
print(n)

Офлайн

#4 Июнь 29, 2016 20:50:37

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

а множества в помощь? или еще не знаком?

Офлайн

#5 Июнь 29, 2016 20:52:11

dima757
Зарегистрирован: 2016-06-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

ещё не дошёл до множеств

Офлайн

#6 Июнь 29, 2016 20:53:26

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

dima757
на пример 1 2 3 4 8, выводит 5
так оно и есть элементов то 5 и все различны. в чем проблема?

Офлайн

#7 Июнь 29, 2016 20:56:27

dima757
Зарегистрирован: 2016-06-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

если взять другой список, то выводит фигню 1 2 3 4 5 - 4
1 1 2 2 2 3 4 5 6 7 - 9

Офлайн

#8 Июнь 29, 2016 20:58:22

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

a = [int(i) for i in input().split()]
num_distinct = 1
for i in range(0, len(a) - 1):
    if a[i] != a[i + 1]:
        num_distinct += 1
print(num_distinct)
или так
a = [int(i) for i in input().split()]
b = []
for i in a:
    if i not in b:
        b.append(i)
print(len(b))

Офлайн

#9 Июнь 29, 2016 21:01:59

dima757
Зарегистрирован: 2016-06-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

marvellik спасибо!!!!

Офлайн

#10 Июнь 30, 2016 06:27:59

Vigi
От: Курья, Алтай
Зарегистрирован: 2015-02-07
Сообщения: 144
Репутация: +  8  -
Профиль   Отправить e-mail  

с задачей помогите плиззз

print(len(set(list(map(int, input().split())))))
?

Для наглядности:
lst = [1, 2, 3, 4, 5]
print(len(set(lst)))

Отредактировано Vigi (Июнь 30, 2016 06:35:31)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version