2673 - Swap Cuv: Difference between revisions
Pagină nouă: == Cerinţa == Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (cu codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor: ; Primul Ultimul Al Doilea Penultimul ... == Date de intrare == Programul citește de la tastatură șirul dat. == Date de ieșire == Programul va afișa pe ecran cate... |
|||
Line 13: | Line 13: | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* propoziția va conține cel mult 255 de caractere | * propoziția va conține cel mult 255 de caractere | ||
== | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
divide and conquer / devide et impera. | divide and conquer / devide et impera. | ||
Line 25: | Line 25: | ||
devide | devide | ||
<br> | <br> | ||
== Exemplu 2 == | == Exemplu 2 == | ||
; Intrare | ; Intrare |
Revision as of 17:31, 25 December 2023
Cerinţa
Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (cu codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor:
Primul Ultimul Al Doilea Penultimul ...
Date de intrare
Programul citește de la tastatură șirul dat.
Date de ieșire
Programul va afișa pe ecran cate o linie cuvintele în funcție de cerintă.
Restricţii şi precizări
- propoziția va conține cel mult 255 de caractere
Exemplul 1
- Intrare
divide and conquer / devide et impera.
- Iesire
Datele de intrare corespund restrictiilor impuse divide impera and et conquer devide
Exemplu 2
- Intrare
Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
<syntaxhighlight lang="python" line> import re
def main():
# Citirea șirului de caractere de la tastatură sir = input().strip()
# Verifică dacă șirul respectă restricțiile if len(sir) > 255: print("Datele de intrare nu corespund restrictiilor impuse") return
# Afișarea mesajului de confirmare print("Datele de intrare corespund restrictiilor impuse")
# Separarea cuvintelor din șir cuvinte = re.findall(r'\b\w+\b', sir)
# Afișarea cuvintelor în ordinea cerută i = 0 j = len(cuvinte) - 1 while i <= j: if i == j: print(cuvinte[i]) else: print(cuvinte[i]) print(cuvinte[j]) i += 1 j -= 1
if __name__ == "__main__":
main()
</syntaxhighlight>