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

liczba setek, dziesiątek i jedności pobranej liczby

+2 głosów
191 wizyt
pytanie zadane 28 października 2021 w Python przez K0jt3K Początkujący (280 p.)

Witam ma do zrobienia następujące zadanie: 

Pobrać od użytkownika liczbę w zakresie 0 – 999 (w przypadku niespełnionego warunku wypisać stosowny komunikat). W programie wyświetlić sumę cyfr oraz liczbę: jedności, dziesiątek i setek składających się na podaną liczbę (podpowiedź: w zadaniu wykorzystać operator reszty z dzielenia)

Mam już funkcje licząca sumę lecz nie wiem jak zrobić rozbicie na setki dziesiatki i jednosci. Działało dla liczb 3 cyfrowych lecz dla 2 cyfrowych juz nie. Chodzi mi o to, że gdy liczba wynosi np. 287 to będzie, ze setki to 2 dziesiatki to 8, a jednosci to 7. Natomiast gdy liczba bedzie np. 65 to setki to bedzie 0, dziesiatki to 6, a jednosci to 5. PLS HELP

komentarz 28 października 2021 przez VBService Mędrzec (172,150 p.)
Proszę, pokaż kody jaki już masz.
komentarz 29 października 2021 przez K0jt3K Początkujący (280 p.)

 

print(f"Podaj liczbe z zakresu 0 - 999.")
liczba = int(input("Twoja liczba: "))
def suma(liczba):
    s = 0
    for i in str(liczba):
        s += int(i)
    return s
def podzial(liczba):
    tab = []
    if liczba > 99:

 

1
komentarz 29 października 2021 przez K0jt3K Początkujący (280 p.)

@VBService, 

print(f"Podaj liczbe z zakresu 0 - 999.")
liczba = int(input("Twoja liczba: "))
while liczba not in range(0,1000):
    liczba = int(input("Nieprawidlowa wartosc, Podaj liczbe w zakresie 0 – 999: "))
def suma(liczba):
    s = 0
    for i in str(liczba):
        s += int(i)
    return s
def podzial(liczba):
   setki = int(liczba/100%10)
   dziesiatki = int(liczba/10%10)
   jednosci = liczba%10
   print(f"Setki: {setki}, dziesiątki: {dziesiatki}, jedności {jednosci}!")
print(f"Suma cyft to: {suma(liczba)}")
podzial(liczba)

Teraz mam taki i już działa.

1 odpowiedź

+2 głosów
odpowiedź 29 października 2021 przez Inn Gaduła (4,320 p.)
wybrane 29 października 2021 przez K0jt3K
 
Najlepsza
number = int(input("Podaj liczbe w zakresie 0 – 999: "))
while number not in range(0,1000):
    number = int(input("Nieprawidlowa wartosc, Podaj liczbe w zakresie 0 – 999: "))
    
print("Suma cyfr - {}".format(sum([int(x) for x in str(number)])))
print("Jednosci - {}".format(number%10))
print("Dziesiatki - {}".format(int(number/10%10)))
print("Setki - {}".format(int(number/100%10)))

 

1
komentarz 29 października 2021 przez K0jt3K Początkujący (280 p.)
Dzięki wielkie za pomoc! :)

Podobne pytania

0 głosów
3 odpowiedzi 1,093 wizyt
0 głosów
2 odpowiedzi 2,166 wizyt
0 głosów
0 odpowiedzi 124 wizyt
pytanie zadane 31 maja 2021 w Python przez graj23x Obywatel (1,420 p.)

88,355 zapytań

136,951 odpowiedzi

305,666 komentarzy

58,618 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...