Python для с в то время как внутри - PullRequest
0 голосов
/ 02 июня 2018

Ваша программа должна прочитать последовательность из L целых чисел, где каждое целое число равно N, разделенных пробелом.N находится в диапазоне [0, 99].L находится в диапазоне [1, 400].Тестовый образец

вход 40 40 40 40 29 29 29 29 29 29 29 29 17 17 92 92 92 92 92 86 86 86 86 86 86 86 86 86 86

выход 4 40 8 29 217 5 92 10 86

line = input('Please enter the sequence: ').split()

list = []

for value in line:

    print('\nvalue -', value)

    count = 0

    while value in line:
        if value == '17':
            print('found')

        if line[0] == '17':
            print('is here')

        del line[0]
        count += 1
        print('\ninside value -', value, ' count - ', count)
        print('\n', line)

    list.extend([count, value])
print('\n', list)

Это простая проблема, но обратите внимание на число 17, если последовательность состоит из 2 или менее чисел, она не засчитывается, если она имеет как минимум 3 числаобычно считается.Может кто-нибудь объяснить, в чем проблема?Я проверил несколько раз и не мог понять.Я уже нашел лучшее решение, но я все еще хотел бы знать, в чем проблема в приведенном выше коде Python.Спасибо!

1 Ответ

0 голосов
/ 02 июня 2018

Без использования каких-либо библиотек это можно сделать с помощью (пошагового процесса):

_input = "40 40 40 40 29 29 29 29 29 29 29 29 17 17 92 92 92 92 92 86 86 86 86 86 86 86 86 86 86"

# transforming the raw values into a list/array
number_array = [int(i) for i in _input.split(' ')]

# returns unique values from input
number_unique = []
for na in number_array:
    if na not in number_unique:
        number_unique.append(na)
    pass

# counts how many times the values appeared on the list, respectively
number_count = []
for n in number_unique:
    number_count.append(number_array.count(n))

# pairing of the count and the unique value
res = []
for nc, nu in zip(number_count, number_unique):
    res.append("{} {}".format(nc, nu))

print(' '.join(res))
# 4 40 8 29 2 17 5 92 10 86
# concatenating using join
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...