Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
3 / 3 / 0
Регистрация: 14.04.2022
Сообщений: 13

Являются ли все элементы массива уникальными (различными)?

14.04.2022, 18:42. Показов 3347. Ответов 8

Студворк — интернет-сервис помощи студентам
В массив вводятся числа(ввод с клавиатуры) до появления числа 256, проверить являются ли все элементы массива уникальны(различны)?
Прошу помочь. Выводятся все подряд числа, а нужно на выходе иметь кол-во повторяющихся цифр.
Пример вывода#1:
2, есть одинаковые
Пример вывода#2:
0, уникальны

Код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a=[0]*4
k=0
for i in range(len(a)):
    i=str(i+1)
    print("элемент массива " + i, end = " ")
    i= int(i)
    i=i-1
    a[i]=int(input())
while a!=256:
    for i in range(len(a)):
        if a[i] in a[0:i]:
            k+=1
            if k>0:
                print(k,'есть одинаковые')
            else:
                print(k,'уникальны')
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2022, 18:42
Ответы с готовыми решениями:

Найти минимальный элемент и проверить, являются ли все элементы массива различными
Создать одномерный массив и заполнить его случайными 10 числами в интервале от 0 до 30, найти минимальный элемент и проверить являются ли...

Все ли числа в данном списке являются уникальными
Есть список: a = Требуется написать функцию в отдельном модуле, которая проверяет все ли числа в данном списке, являются уникальными

Определить, являются ли все символы строки уникальными. Малые и большие буквы считаются разными
Дана последовательность символов (строка). Определить, являются ли все символы строки уникальными. Малые и большие буквы считаются разными....

8
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
14.04.2022, 19:26
Возможно, я не понял задачу... Но, вот:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lst = []
 
while True:
    n = int(input('Введите число: '))
    if n == 256:
        break
    else:
        lst.append(n)
 
k = 0
for num in set(lst):
    if lst.count(num) > 1:
        k += 1
 
print(f'{k}, уникальны') if k == 0 else print(f'{k}, есть одинаковые')
1
3 / 3 / 0
Регистрация: 14.04.2022
Сообщений: 13
14.04.2022, 19:34  [ТС]
Привет, я сейчас решил программу в итоге по своему и всё правильно, но при встрече с числом 256, нужно чтобы программа выводила только фразу 'содержится число 256' например.
Сейчас скину свой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
x=[]
n=4
k=0
for i in range(n):
    a=int(input())
    x.append(a)
    if 256==x[i]:
        print('Содержится число 256')
        break
    if x[i] in x[0:i]:
        k+=1
print(k,':','Одинаковых чисел')
Добавлено через 3 минуты
DmBnd, если не сложно, то можешь показать решение через while , а не break. Буду благодарен
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
14.04.2022, 19:41
Nikita_Pr, я немного не понимаю, зачем
Python
1
n=4
, а потом
Python
1
for i in range(n):
, если можно сразу
Python
1
for i in range(4):
. И откуда вообще берётся цифра 4? По условию, которое ты скинул, не сказано, что пользователь должен только 4 числа ввести.

Цитата Сообщение от Nikita_Pr Посмотреть сообщение
при встрече с числом 256, нужно чтобы программа выводила только фразу 'содержится число 256'
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lst = []
 
while True:
    n = int(input('Введите число: '))
    if n == 256:
        print('Содержится число 256')
        break
    else:
        lst.append(n)
 
k = 0
for num in set(lst):
    if lst.count(num) > 1:
        k += 1
 
print(f'{k}, уникальны') if k == 0 else print(f'{k}, есть одинаковые')
Добавлено через 2 минуты
Цитата Сообщение от Nikita_Pr Посмотреть сообщение
если не сложно, то можешь показать решение через while , а не break. Буду благодарен
Так я же через while и делаю
1
3 / 3 / 0
Регистрация: 14.04.2022
Сообщений: 13
14.04.2022, 19:47  [ТС]
Я понимаю, а вы можете мне мою программу довести до ума, а число 4, просто потому что я вводил в массив 4 числа.
Мне нужно помощь. Нужно чтобы программа при встрече в массиве числа 256 писала, что в массиве есть это число и всё, а не выполняла после этого команду print(k,':','Одинаковых чисел')
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
14.04.2022, 20:04
Nikita_Pr, если я правильно понял вопрос, то просто передвинь print в блок if
Python
1
2
3
if x[i] in x[0:i]:
    k+=1
    print(k,':','Одинаковых чисел')
А вообще, скинь задачу, как она написана у тебя перед глазами. А то какие-то танцы с бубном
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
15.04.2022, 07:09
Цитата Сообщение от Nikita_Pr Посмотреть сообщение
показать решение через while , а не break
- "Кто ясно мыслит, тот ясно излагает"

Python
1
2
3
4
5
6
7
8
9
arr=[]
a=int(input())
while a != 256:
    arr.append(a)
    a=int(input())
if len(set(arr))==len(arr):
    print("Все элементы уникальны!")
else:
    print("Не все элементы уникальны!")
0
3 / 3 / 0
Регистрация: 14.04.2022
Сообщений: 13
15.04.2022, 16:23  [ТС]
Вот мой код. Еще раз уточню, когда встречается число 256, программе следует выполнить только print('Содержится число 256'), а у меня выводится k плюсом.
Python
1
2
3
4
5
6
7
8
9
10
11
12
x=[]
n=6
k=0
for i in range(n):
    a=int(input('Введите число:'))
    x.append(a)
    if 256==x[i]:
        print('Содержится число 256')
        break
    if x[i] in x[0:i]:
        k+=1
print(k,':','Одинаковых чисел')
Добавлено через 1 минуту
Оправдываться, что вчера я сильно устал наверное не актуально. Но мысли в тот день я и правда излагал плохо.
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
15.04.2022, 17:14
Лучший ответ Сообщение было отмечено Nikita_Pr как решение

Решение

Цитата Сообщение от Nikita_Pr Посмотреть сообщение
а у меня выводится k плюсом
Потому что у тебя
Python
1
print(k,':','Одинаковых чисел')
идёт после цикла for, т.е. оно выполнится ВСЕГДА после завершения цикла for (не важно, каким способом твой for завершился). Передвинь
Python
1
print(k,':','Одинаковых чисел')
в блок
Python
1
if x[i] in x[0:i]:
и оно не будет выполняться, когда сработает условие
Python
1
if 256==x[i]:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2022, 17:14
Помогаю со студенческими работами здесь

Проверить, являются ли все цифры в числе различными
помогите пожалуйста!Дано натуральное число N(N<10000). Проверить,являются ли все цифры в числе различными

Определить являются ли все цифры числа различными
Нужно Написать программу :С клавиатуры вводиться десятизначное число, если хоть одна цифра в этом числе повторяется, то вывести слово...

Найти предложения, все первые символы слов которых являются уникальными (каждый встречается один раз)
Составить схему алгоритма и программу на языке Python ввода и обработки текста из нескольких строк и нескольких предложений согласно...

Проверить, являются ли все цифры, входящие в натуральную запись, числа N различными
Напишите функцию логического типа, проверяющую, являются ли все цифры, входящие в натуральную запись, числа N различными Темы не...

Проверить, все ли элементы массива являются положительными
Всем привет. Мне нужно написать цикл, который выводит на экран определенное сообщение и завершает программу, если все элементы массива...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru