EOF при чтении строки или idk - PullRequest
1 голос
/ 02 ноября 2019

Я просто делаю программу, которая делает следующее:

  1. Вы вводите "count" чего-то.
  2. Затем вы вводите значение для каждого "count", разделенного напробелы
  3. Вы получите вывод: сколько из них дублируется и какое повторное число является наибольшим, снова разделенных пробелом

в основном это: Ввод:

8           
12 12 16 102 47 16 102 47

Вывод:

4 102

Проблема в том, что я не получил ни единой точки за мой код, и я понятия не имею, в чем проблема. In работает в моем python, но не в некоторых онлайн-компиляторах, поэтому у приемника может быть та же проблема с моей программой, что и с онлайн-сайтами

def thing():
    global count
    count = int(input('n:'))
    if count > 100000:
        exit()
    elif count < 1:
        exit()
    else:
        wut()
def wut():
    idk = []
    inp = list(map(int,input('ai:').split(' ')))
    if len(inp) != count:
        exit()
    elif sum(inp) > 200000:
        exit()
    elif sum(inp) < 1:
        exit()
    else:
        for i in range(len(inp)):
            for x in range(i+1, len(inp)): 
                if inp[i] == inp[x]:
                    idk.append(inp[i])
    o = len(idk)
    idk.sort(reverse = True)
    print(o, idk[0])

thing()

В моем python 3.7.4 он работает просто отлично, но я нене получите ни единого очка за это.

1 Ответ

0 голосов
/ 02 ноября 2019
from collections import Counter

# Convert them all to an int
numbers = [int(i) for i in input("Numbers: ").split(" ")]

# Get number of input
count = len(numbers)

counter = Counter(numbers)

# Get the highest value of the most common values
max_dup, _ = max(counter.most_common(), key=lambda ele: ele[0])

# Get the amount of duplicates
dups = len(list(filter(lambda k: k[1] > 1, counter.items())))

print(dups, end=" ")

print(max_dup)

коллекций. Счетчик фильтр

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...