Nie mogę znaleźć wartości najmniejszej liczby całkowitej „k” w liczbie liczb całkowitych „n” na liście [duplikat]

Dec 02 2020
n = input('print n:')
k = input('print k')
a = input('print'+str(n)+'numbers:')
s = str(a)
Lst = s.split()
map_object = map(int, Lst)
lst = list(map_object)

Resztę zrobiłem i nie wiem, jak znaleźć i wydrukować k najmniejszą liczbę całkowitą.

wejścia:

10 (n) 3 (k)

1 3 3 7 2 5 1 2 4 6 (n liczba liczb)

wyjścia:

3

Odpowiedzi

2 Tuqay Dec 02 2020 at 05:51

Możesz mieć zduplikowane numery, więc najpierw pozbywamy się ich za pomocą set():

no_duplicates = set(lst)

Następnie sortujemy, co zwróci nam posortowaną listę:

sorted_list = sorted(no_duplicates)

Następnie otrzymujemy żądaną liczbę (nie przekonwertowałeś kna int, więc zrobimy to tutaj):

kth_smallest = sorted_list[int(k)-1]