• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python odwrotna kolejność cyfr

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
5,515 wizyt
pytanie zadane 22 marca 2016 w Python przez Lukasz95 Bywalec (2,160 p.)

Cześć mam problem, jestem nowym programistą pythona i chciałem napisać program który zamienia cyfry w liczbie na odwrót.  np. 123 -> 321
Ale mam pewne problemy ,chyba ze składnią. 

a=input("xxx")
x=a
while a:
    x=a%10
    a=a/10
    print(x)

 

3 odpowiedzi

+2 głosów
odpowiedź 22 marca 2016 przez Bantu Nałogowiec (34,250 p.)
wybrane 23 marca 2016 przez Lukasz95
 
Najlepsza
Najprościej to chyba zrobić tak, że zmieniasz liczbę na stringa, na stringu robisz reverse (reverse na stringu można zrobić tak: [::-1]). Teraz gdy chcesz operować dalej na liczbie to robisz powrotne rzutowanie. Jeżeli liczbe chcesz rozdzielić na same cyfry to robisz jakiegoś splita i rozdzielasz. Może nie jest najwydajniejsze rozwiązanie, ale najprostsze według mnie.

http://stackoverflow.com/a/13059602
+2 głosów
odpowiedź 22 marca 2016 przez Benek Szeryf (92,970 p.)

Proszę:

x = raw_input("Put a number: ")
l = list(str(x))
l.reverse()
x = int(''.join(l))
print x
–2 głosów
odpowiedź 15 sierpnia 2019 przez adambalski1 Obywatel (1,010 p.)
edycja 26 grudnia 2022 przez adambalski1

Myślę, że o wiele szybszym rozwiązaniem od tych bazujących na stringach byłoby zrobienie czegoś takiego.

def reverseInteger(x):
    res = 0

    while(x != 0):
        res = 10 * res + x % 10
        x //= 10

    return res

Wiem, że problem jest stary, ale może pomoże nowym osobom.

komentarz 26 grudnia 2022 przez Kwadrat Nowicjusz (100 p.)
Oguem Panie Majorze Suchodolski to

def reverseInteger(x):

    res = 0

    while(x != 0):

        res = 10 * res + x % 10

        x /= 10

    return res

teraz jest dobrze, zamieniłem jedno res na x bo miałeś źle i nie działało całe te i oguem to teraz działa  a nie jakieś niewiado mo co
Oguem
komentarz 26 grudnia 2022 przez adambalski1 Obywatel (1,010 p.)
Zgadza się, dzięki za poprawę. Sprawdziłem też resztę i jeszcze trzeba dodać jedną poprawkę: zaminić dzielenie z przypisaniem na dzielenie z usunięciem części po przecinku i przypisaniem (zamiana "x /= 10" na "x //= 10"). Wprowadziłem już poprawki do odpowiedzi.

Podobne pytania

0 głosów
2 odpowiedzi 295 wizyt
pytanie zadane 30 listopada 2023 w C i C++ przez maxkolanko1998 Gaduła (3,230 p.)
0 głosów
4 odpowiedzi 29,136 wizyt
pytanie zadane 3 września 2015 w C i C++ przez karmar435 Nowicjusz (240 p.)
0 głosów
1 odpowiedź 540 wizyt
pytanie zadane 9 września 2019 w PHP przez Kamil Czech Dyskutant (7,700 p.)

93,164 zapytań

142,175 odpowiedzi

321,917 komentarzy

62,490 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 453p. - Marcin Putra
  2. 453p. - dia-Chann
  3. 447p. - Łukasz Piwowar
  4. 443p. - CC PL
  5. 431p. - Łukasz Eckert
  6. 428p. - rafalszastok
  7. 423p. - Adrian Wieprzkowicz
  8. 423p. - Michal Drewniak
  9. 418p. - rucin93
  10. 410p. - Piotr Aleksandrowicz
  11. 408p. - ksalekk
  12. 402p. - Mariusz Fornal
  13. 401p. - Dawid128
  14. 383p. - Hubert Chęciński
  15. 340p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...