Python Tablice

PH
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 lata
  • Postów:121
0

Czesc Robię sobie to zadanie https://pl.spoj.com/problems/PP0502B/

Mam napisany taki kod i dostaję błędną odpowiedź:

Kopiuj
ile=int(input())

for x in range(ile):
    a = list(map(int, input().split(' ')))
    unik=[]
    for j in a:
        if j not in unik:
            unik.append(j)
    for j in reversed(unik):
        print(j,end=" ")
edytowany 1x, ostatnio: printHello
lion137
Testowałeś to lokalnie, debugowałeś?
Spearhead
Listy to nie tablice.
PH
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 lata
  • Postów:121
0

Chyba już widzę gdzie leży problem , do tablicy unik powinny się dodawać poprzez metodę reverse wartości unikalne , program pomija pierwszą (końcową) wartosć tablicy po wykonaniu funkcji reverse dla np przykładu

7 1 2 3 4 5 6 7 powinno być 7 6 5 4 3 2 1 a jest 6 5 4 3 2 1 7

edytowany 3x, ostatnio: printHello
  • Rejestracja:około 6 lat
  • Ostatnio:ponad rok
0
Kopiuj
for s in[*open(0)][1:]:print(*s.split()[:0:-1])
PH
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 lata
  • Postów:121
0
Mózg napisał(a):
Kopiuj
> for s in[*open(0)][1:]:print(*s.split()[:0:-1])
> ```

możesz ten kod wytłumaczyć ? bo nie za bardzo go rozumiem .
PH
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 lata
  • Postów:121
0

Powiedżcie mi proszę , idę dobrą drogą czy zblądziłem :D ? mam kod który porównuje dwa elementy tablicy1 , jeśli element 0 i element -1 są równe usuwa element 0 i kopiuje tablice. Następnie nowa w nowej tablicy odczytywane są jej wartości i odwracane.

Kopiuj

ile=int(input())

for x in range(ile):
    a = list(map(int, input().split(' ')))
    unik=[]
    for j in a:
        if j not in unik:
            unik.append(j)
            z=0 
            while z<1:
                if unik[-1]==unik[0]:
                    unik.pop(0)
                    unik2=unik.copy()
                    z=z+1
            for j in reversed(unik2):
                    print(j,end=" ")
edytowany 3x, ostatnio: printHello
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:około 7 godzin
  • Postów:4935
0

Mam wrażenie, że robisz to mega niewydajnie. Wytarczy tymczasowa tablica i wstawianie do niej w pętli elementów w odwrotnej kolejności. Żeby dostać algorytm, a nie jakieś biblioteczne rozwiązanie, to szukaj w necie "reverse array C".


PH
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 lata
  • Postów:121
0

Problemem nie jest odwrócenie tej tablicy , ale nie wiem dlaczego nie odczytuje mi i nie wsadza do tablicy unik ostatniego odczytanego elementu ze zmiennej a .

SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:37 minut
0

Nigdzie nie jest napisane że tylko unikalne liczby, tak więc

Kopiuj
ileserii = int(input())
while ileserii > 0:
    tab = input().split()
    tab = tab[1::] #usuwa ilość liczb, wczytuje całej linie więc zbędna
    tab = tab[::-1] #odwraca tablice
    wynik = ""
    for liczba in tab:
        wynik = wynik + liczba + " "
    print(wynik)
    ileserii -= 1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.