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

programowanie w python

Object Storage Arubacloud
+1 głos
389 wizyt
pytanie zadane 24 października 2021 w Python przez Magnikor Początkujący (390 p.)

Napisz program, który będzie tłumaczył podany tekst na język który omija dwie pierwsze i ostatnia literę danego słowa. Jeżeli słowo ma mniej niż 3 litery dodaj xyz na końcu. 

Podpowie ktoś jak zrobić żeby program liczył ilość liter w słowie zamiast ilości słów w tekście? + jak dodać xyz na końcu słowa.

tekst=input("Podaj streszczenie do przetłumaczenia:")
lista_slow=tekst.split(" ")
ilosc_liter_w_slowie=len(lista_slow)
if ilosc_liter_w_slowie>3:
        tlum = tekst[2:-1]
else:    
        tlum = tekst[2:-1]
print(tlum)

 

2 odpowiedzi

0 głosów
odpowiedź 24 października 2021 przez VBService Ekspert (253,420 p.)
wybrane 25 października 2021 przez Magnikor
 
Najlepsza

żeby program liczył ilość liter w słowie zamiast ilości słów w tekście

ponieważ

lista_slow = tekst.split(" ")

tworzy listę słów, możesz użyć pętli forenumerate, aby iterować po wszystkich słowach, dopiero "wewnątrz" pętli sprawdzasz ilość liter w słowie.

for indeks, slowo in enumerate(lista_slow):
    if len(slowo) < 3:
        # lista_slow[indeks] = slowo + 'xyz'  lub
        lista_slow[indeks] += 'xyz'
    else:
        . . .

używając indeksu możesz "podmieniać" od razu słowa na liście

        . . .
    else:
        lista_slow[indeks] = slowo[2:-1]

i później użyć join, aby na powrót otrzymać tekst "przetłumaczony".

tekst = ' '.join(lista_slow)
print('\nTłumaczenie:\n', tekst) 

 

0 głosów
odpowiedź 24 października 2021 przez Mihoteo Bywalec (2,420 p.)

Jeśli chcesz liczyć liczbę liter w każdym słowie to musisz wskazać słowo. W tym przykładzie (3 linia) liczysz ilość elementów w tablicy. Powinieneś dodać pętle która będzie iterowała elementy a funkcji len() używać na wskazanym słowie np:
 

len(lista_slow[i])

a co do dodania xyz na końcu to możesz to zrobić po prostu znakiem dodawania np:

slowo += 'xyz'

 

komentarz 24 października 2021 przez Magnikor Początkujący (390 p.)
a wiesz może jak ta pętla będzie wyglądać?
komentarz 25 października 2021 przez Mihoteo Bywalec (2,420 p.)

Ja bym pewnie to zrobił pętlą for each która wyglądałaby tak:

 

for slowo in lista_slow:
   if len(slowo)>3:
      slowo += 'xyz'
   else:    
      '''a tu nie jestem pewny co chcesz dokladnie osiagnac'''

 

 

Podobne pytania

+1 głos
1 odpowiedź 300 wizyt
pytanie zadane 9 stycznia 2022 w Python przez Magnikor Początkujący (390 p.)
0 głosów
0 odpowiedzi 1,053 wizyt
pytanie zadane 2 września 2021 w Python przez Rafael Ale Nie Santi Nowicjusz (140 p.)
+1 głos
1 odpowiedź 231 wizyt
pytanie zadane 12 czerwca 2021 w Python przez Mateusz85 Początkujący (370 p.)

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,965 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...