Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[8]

Рекомендованные сообщения

Тока спортивное программирование ничего общего не имеет с реальностью.


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

Тока спортивное программирование ничего общего не имеет с реальностью.

Ну да, в спортивном программировании денег не платят.

Вроде помогли:

 

Ищем а5, через каждые 20 ненужных элементов

 

 

 

import random
import numpy as np

array = []

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5

array = []

for k in range(5, 0, -1):
    for i in range(10 * k):
        array.append(6 - k)

random.shuffle(array)

print()
print(array)
print()

# Узнаём длину массива
lenArray = len(array)
print(lenArray)
print()

# Узнаём сколько элементов в массиве и процент.

a1Count = array.count(a1)
a2Count = array.count(a2)
a3Count = array.count(a3)
a4Count = array.count(a4)
a5Count = array.count(a5)

a1Percent = a1Count / lenArray * 100
a2Percent = a2Count / lenArray * 100
a3Percent = a3Count / lenArray * 100
a4Percent = a4Count / lenArray * 100
a5Percent = a5Count / lenArray * 100

print(a1Count)
print(a2Count)
print(a3Count)
print(a4Count)
print(a5Count)
print()
print(a1Percent)
print(a2Percent)
print(a3Percent)
print(a4Percent)
print(a5Percent)

print()

l = [a1, a2, a3, a4, a5]#Num = 5
aCount = []
for i in range(5):    # количество чисел
    b = array.count(l[i])
    aCount.append(b)

print(aCount)


N=20  ## Размер среза
D=a5  ## Число
counter = 0

for digit in array[D::N]:
    counter+=(digit == a5) ## Скобки для наглядности

print(counter) 

 

 


moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение

Тока спортивное программирование ничего общего не имеет с реальностью.

Ну так спортивное программирование про CS, а 'реальность программирования' - бездумное формошлепство

Поделиться сообщением


Ссылка на сообщение

 

Тока спортивное программирование ничего общего не имеет с реальностью.

Ну так спортивное программирование про CS, а 'реальность программирования' - бездумное формошлепство

 

Нет.


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Посмотрите пожалуйста ошибку. Цикл в конце никак не может найти элемент а2, который находится, если перед ним было 100 элементов не являющимися а2. А он находит. Не могу понять почему.

import random

array = []

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5

for i in range (50):
    array.append(a1)
 
for i in range (40):
    array.append(a2)
 
for i in range (30):
    array.append(a3)
 
for i in range (20):
    array.append(a4)
 
for i in range (10):
    array.append(a5)
    
random.shuffle(array)

print()
print(array)
print()

c1 = 0
c2 = 0

for i in array:

    if c1 > 100:
        c1 = 0
    
    if i != a2:
        c1 = c1 + 1

    if i == a2:
        if c1 == 100:
            c2 = c2 + 1


print("Сколько a2 через 100 ненужных элемента:", c2)


Изменено пользователем yellyex

moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение

Тоже не работает :(

import random

array = []

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5

for i in range (50):
    array.append(a1)
 
for i in range (40):
    array.append(a2)
 
for i in range (30):
    array.append(a3)
 
for i in range (20):
    array.append(a4)
 
for i in range (10):
    array.append(a5)
    
random.shuffle(array)

print()
print(array)
print()

c1 = 0

for i in array:

    if array[i] == a2:
        if array[i - 1] != a2:
            if array[i - 2] != a2:
                if array[i - 3] != a2:
                    if array[i - 4] == a2:
                        c1 = c1 + 1 

print(c1)


moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение

 


Тоже не работает :(

 

помоему твое условие не выполнимо

тыже записываешь линейно 

50 единиц потом 40 двоек потом 30 троек...и так далее

 

и условие

if array[i] == a2:
        if array[i - 1] != a2:
            if array[i - 2] != a2:
                if array[i - 3] != a2:
                    if array[i - 4] == a2:

элемент по индексу [i-4] не может быть равен двойке когда[i-3] не равен двойке и равен двойке

ониж линейно записаны,там нет промежутков

Поделиться сообщением


Ссылка на сообщение

 

Тоже не работает :(

 

помоему твое условие не выполнимо

тыже записываешь линейно 

50 единиц потом 40 двоек потом 30 троек...и так далее

 

и условие

if array[i] == a2:
        if array[i - 1] != a2:
            if array[i - 2] != a2:
                if array[i - 3] != a2:
                    if array[i - 4] == a2:

элемент по индексу [i-4] не может быть равен двойке когда[i-3] не равен двойке и равен двойке

ониж линейно записаны,там нет промежутков

 

Я перемешал массив. Посмотри внимательней.

Вот даже в буквальном виде не работает. Что не так?

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5

array = [a1, a2, a5, a4, a1, a2, a1, a5]

c1 = 0

for i in array:
    
    if i == a2:
        if i - 1 != a2:
            if i - 2 != a2:
                if i - 3 != a2:
                    if i - 4 == a2:
                        c1 = c1 + 1

print(c1)

Он должен найти одну комбинацию, где а2, а перед ним 3 ненужных элемента, а перед ними снова а2. Но не находит. Значит ошибка в коде, но я её не вижу.


moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение
(изменено)

я не посмотрел сразу какой ты бред тут пишешь(ничего личного)

смотри

 

щас

if i == a2:

у тебя в оригинале

if array == a2:

 

ты в первом примере брал

for i in array:

i это НЕ ИНДЕКС это значение элемента, у тебя значения элементов 1 2 3 4 5

и ты по этому значению берешь значение массива array - это бред

 

последний твой пример:

if i - 4 == a2:

у тебя i максимум 5 (потому что это не индекс)

5-4=1

1 никак не может быть равно 2

 

да и вообще эта конструкция не имеет смысла она всегда будет ложь, тыж от одного числа отнимаешь оно не может быть одновременно и равно 2 и отняв 4 равно всеравно двум....бред

 

иди проспись и пиши нормально


Изменено пользователем hira88

Поделиться сообщением


Ссылка на сообщение
(изменено)

Хира, да уже всё в порядке. Осталось понять кое-что другое. Если массив: array = [a1, a2, a5, a4, a1, a2], то показывает 1 комбинацию, как и должно быть. Но, если добавить в конец массива +2 элемента, то показывает, что две комбинации. array = [a1, a2, a5, a4, a1, a2, a1, a3]

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5
 
array = [a1, a2, a5, a4, a1, a2]
 
c1 = 0
 
for i in range(len(array)):
 
    if array[i] == a2:
        if array[i - 1] != a2:
            if array[i - 2] != a2:
                if array[i - 3] != a2:
                    if array[i - 4] == a2:
                        c1 += 1
 
print(c1)



Изменено пользователем yellyex

moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение

 

 

то показывает 1 комбинацию, как и должно быть. Но, если добавить в конец массива +2 элемента, то показывает, что две комбинации
 

у тебя индекс отрицательный на старте когда i=0

гугли что делает отрицательны индекс в питоне(в других языках другое будет)

Поделиться сообщением


Ссылка на сообщение

Ты предлагаешь i выставить нулём перед итерацией? Но не работает всё равно.


Выход нашёл вроде, но придётся каждый раз вручную контролировать конец массива. Если он заканчивается на а2, то -1 делать не надо. А если на другой элемент, то ставим -1

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5
 
array = [a1, a2, a5, a4, a1, a2, a1, a5, a3, a2, a1, a1, a4, a2, a1]
 
c1 = 0
 
for i in range(len(array) - 1):
 
    if array[i] == a2:
        if array[i - 1] != a2:
            if array[i - 2] != a2:
                if array[i - 3] != a2:
                    if array[i - 4] == a2:
                        c1 += 1
 
print(c1)

moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение
(изменено)

чел...ты вообще понимаешь что пишешь?

отрицательный индекс-это с конца массива, положительный с начала(только в питоне так)

ты ничего не решил, ты сделал подпорку под текущий массив, поменяй порядок элементов опять будет 2 массива или больше...

 

яхз ты очень запутался

во первых если хочешь делать index-4 то тебе нужно чтоб начальный индекс уже был 4, тоесть считать с 4 элемента

for i in range(len(array) - 1): заменить на

 

for i in range((len(array)-1)+4):
    if(i>=len(array)) break
    ...дальше твои ифы...
    if array[i] == a2:...
во вторых попробуй объединять условия в одно

if((array == a2)&&(array[i - 1] != a2)&&(...так далее...))

 

ну и конечно результат может быть 2 и больше в любом случае, там как ты весь массив смотришь, если нужно одно то останавливай цикл при нахождении первого...


Изменено пользователем hira88

Поделиться сообщением


Ссылка на сообщение

Спасибо. Объединить ифы пробовал = тоже самое.

Блин я не мастер, но мне кажется, что не обязательно учитывать, есть ли конец массива, если я ставлю -4 в индекс. Код сам увидит, что значений меньше 0 индекса нет. Тем более ошибку он не выдает.


Вроде решил удалением последних индексов массива не являющимися нужными.

import random

a1 = 1
a2 = 2
a3 = 3
a4 = 4
a5 = 5
 
array = [a1, a2, a5, a4, a1, a2, a3, a1, a4]
 
c1 = 0

for i in array:
    if array[-1] != a2:
        del array[-1]

if array[-1] == a2:
    for i in range(len(array)):
        if array[i] == a2:
             if array[i - 1] != a2:
                 if array[i - 2] != a2:
                    if array[i - 3] != a2:
                          if array[i - 4] == a2:
                             c1 += 1

print(c1)


moonfangtopich написал 29.08.2019 в 14:57:
У вас недостаточно широкий кругозор, пацаны

Я странствия этого еблана видел в покерных топанах, а потом в таверне - это один из самых безумных людей на форуме. Я искренне надеялся, что его зов о помощи останется незамеченным, но нет, нашелся доброволец и вот уже три страницы мы пожинаем плоды

Поделиться сообщением


Ссылка на сообщение

чел...ты вообще понимаешь что пишешь?

отрицательный индекс-это с конца массива, положительный с начала(только в питоне так)

ты ничего не решил, ты сделал подпорку под текущий массив, поменяй порядок элементов опять будет 2 массива или больше...

 

яхз ты очень запутался

во первых если хочешь делать index-4 то тебе нужно чтоб начальный индекс уже был 4, тоесть считать с 4 элемента

for i in range(len(array) - 1): заменить на

 

for i in range((len(array)-1)+4):
    if(i>=len(array)) break
    ...дальше твои ифы...
    if array[i] == a2:...
во вторых попробуй объединять условия в одно

if((array == a2)&&(array[i - 1] != a2)&&(...так далее...))

 

ну и конечно результат может быть 2 и больше в любом случае, там как ты весь массив смотришь, если нужно одно то останавливай цикл при нахождении первого...

 

еще в руби так.


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
(изменено)

После прочитанного нужно либо удалять 447 страницу, либо весь топан и больше не рехостить.


Изменено пользователем EbalKopal
Just.Doit, Soulless1989, Arzanis и 2 другим понравилось это

Поделиться сообщением


Ссылка на сообщение

 

 

Тока спортивное программирование ничего общего не имеет с реальностью.

 

На собесах гугло-яндекса же дают олимпиадную прогу, не?


 

9Aa4jVY.jpeg

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение

sKvEck7.png

 

B6UGXdc.png

:lol:  :lol:  :lol:  :lol:

После прочитанного нужно либо удалять 447 страницу, либо весь топан и больше не рехостить.

и елекса забаньте плс

 

(дебилоиды, идите в личку со своим питоном и задачками)


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...