Potrzebuje szybko!!! Dam naj. Stwórz program w pythonie w którym wpisane cyfry będą zapisane pisemnie w zakresie od 1 do 1000000. Potrzebuje rozwiązania z wytłumaczeniem!!!
wynik = konwertuj_trzy_cyfry(grupy[i]) + ' ' + tysiące[i] + ' ' + wynik
return wynik.strip()
cyfra = int(input("Wpisz cyfrę (od 1 do 1000000): "))
print(liczba_pisemnie(cyfra))
Wytłumaczenie: Ten program wykorzystuje listy, aby przechowywać zapis pisemny dla poszczególnych cyfr, dziesiątek, setek i tysięcy. Funkcja liczba_pisemnie przyjmuje liczbę jako argument i zamienia ją na zapis pisemny.
Najważniejszą częścią programu jest funkcja konwertuj_trzy_cyfry, która zamienia trzy cyfry na ich zapis pisemny, uwzględniając różne przypadki (jednosci, nastki, dziesiątki i setki).
Główna część programu sprawdza wpisaną cyfrę od 1 do 100
Skrypt:
def liczba_pisemnie(n):
jednosci = ['', 'jeden', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć', 'siedem', 'osiem', 'dziewięć']
nascie = ['dziesięć', 'jedenaście', 'dwanaście', 'trzynaście', 'czternaście', 'piętnaście', 'szesnaście', 'siedemnaście', 'osiemnaście', 'dziewiętnaście']
dziesiatki = ['', '', 'dwadzieścia', 'trzydzieści', 'czterdzieści', 'pięćdziesiąt', 'sześćdziesiąt', 'siedemdziesiąt', 'osiemdziesiąt', 'dziewięćdziesiąt']
setki = ['', 'sto', 'dwieście', 'trzysta', 'czterysta', 'pięćset', 'sześćset', 'siedemset', 'osiemset', 'dziewięćset']
tysiące = ['', 'tysiąc', 'tysiące', 'tysięcy']
if n == 0:
return 'zero'
def konwertuj_trzy_cyfry(num):
if num == 0:
return ''
elif num < 10:
return jednosci[num]
elif num < 20:
return nascie[num - 10]
elif num < 100:
return dziesiatki[num // 10] + ' ' + jednosci[num % 10]
else:
return setki[num // 100] + ' ' + konwertuj_trzy_cyfry(num % 100)
wynik = ''
if n == 1000000:
wynik = 'milion'
else:
grupy = []
while n > 0:
grupy.append(n % 1000)
n //= 1000
for i in range(len(grupy)):
if grupy[i] != 0:
wynik = konwertuj_trzy_cyfry(grupy[i]) + ' ' + tysiące[i] + ' ' + wynik
return wynik.strip()
cyfra = int(input("Wpisz cyfrę (od 1 do 1000000): "))
print(liczba_pisemnie(cyfra))
Wytłumaczenie: Ten program wykorzystuje listy, aby przechowywać zapis pisemny dla poszczególnych cyfr, dziesiątek, setek i tysięcy. Funkcja liczba_pisemnie przyjmuje liczbę jako argument i zamienia ją na zapis pisemny.
Najważniejszą częścią programu jest funkcja konwertuj_trzy_cyfry, która zamienia trzy cyfry na ich zapis pisemny, uwzględniając różne przypadki (jednosci, nastki, dziesiątki i setki).
Główna część programu sprawdza wpisaną cyfrę od 1 do 100