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

suma w pythonie

42 Warsaw Coding Academy
+1 głos
714 wizyt
pytanie zadane 14 listopada 2021 w Python przez magda_19 Gaduła (3,080 p.)

Piszę prosty program, który powinien wydrukować sumę z podanego stringu. Zamiast dostać 6, dostaję 123. 

Oto mój kod:

def lala(s):
  sum = 0
  sum +=int((s))
  print(int(sum))

lala("123")

 

2 odpowiedzi

0 głosów
odpowiedź 14 listopada 2021 przez VBService Ekspert (256,600 p.)
edycja 14 listopada 2021 przez VBService
 
Najlepsza
  • Pomyliłaś zmienną sum z funkcją sum
  • Musisz prze-iterować bo liczbę masz jako tekst zapisaną

[ on-line ]

def lala(s):
  print(sum([int(x) for x in str(s)]))
 
lala("123")

 

komentarz 14 listopada 2021 przez Benek Szeryf (93,070 p.)

Rzutowanie argumentu na napis jest redundantne. Alternatywnie cały kod można zapisać tak:

sum(map(int, s))

 

komentarz 14 listopada 2021 przez VBService Ekspert (256,600 p.)

@Benek w sumie masz rację, ale pisząc przykład miałem też na myśli

lala("123")
lala(123)

 

0 głosów
odpowiedź 14 listopada 2021 przez Benek Szeryf (93,070 p.)
Rzutujesz napis na liczbę całkowitą, a powinnaś rzutować każdy znak na liczbę całkowitą i na koniec je zsumować.

Podobne pytania

0 głosów
1 odpowiedź 2,427 wizyt
pytanie zadane 25 lipca 2019 w Python przez Shitkariu Nowicjusz (140 p.)
+1 głos
1 odpowiedź 774 wizyt
pytanie zadane 17 lipca 2022 w Java przez Ada3141592654 Początkujący (270 p.)
+1 głos
1 odpowiedź 757 wizyt

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...