2592 - Afis Simetric: Difference between revisions
Pagină nouă: == Cerinţa == Se dau '''n''' șiruri de caractere care conțin cuvinte formate doar din litere mici și mari ale alfabetului englez, separate prin câte un singur spațiu. Să se afișeze un nou șir format din primul cuvânt al fiecărui șir în ordinea citirii, al doilea cuvânt al fiecărui șir în ordinea citirii, etc. Dacă șirurile nu au același număr de cuvinte, se continuă acest proces, până când fiecare șir ajunge la final, tot în ordinea citirii. == Dat... |
|||
(One intermediate revision by the same user not shown) | |||
Line 10: | Line 10: | ||
* 1 ⩽ n ⩽ 10 | * 1 ⩽ n ⩽ 10 | ||
* fiecare șir are maximum '''1000''' de caractere | * fiecare șir are maximum '''1000''' de caractere | ||
== | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
3 | 3 | ||
Line 20: | Line 20: | ||
ana el ea are are are mere pere prune | ana el ea are are are mere pere prune | ||
<br> | <br> | ||
== | |||
== Exemplul 2 == | |||
; Intrare | ; Intrare | ||
-1 | -1 | ||
Line 26: | Line 27: | ||
Datele de intrare nu corespund restrictiilor impuse | Datele de intrare nu corespund restrictiilor impuse | ||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> |
Latest revision as of 18:24, 25 December 2023
Cerinţa[edit | edit source]
Se dau n șiruri de caractere care conțin cuvinte formate doar din litere mici și mari ale alfabetului englez, separate prin câte un singur spațiu.
Să se afișeze un nou șir format din primul cuvânt al fiecărui șir în ordinea citirii, al doilea cuvânt al fiecărui șir în ordinea citirii, etc. Dacă șirurile nu au același număr de cuvinte, se continuă acest proces, până când fiecare șir ajunge la final, tot în ordinea citirii.
Date de intrare[edit | edit source]
Se citește de la tastatură pe prima linie numărul n, iar pe următoarele n linii cele n șiruri de caractere.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran șirul rezultat conform cerinței.
Restricţii şi precizări[edit | edit source]
- 1 ⩽ n ⩽ 10
- fiecare șir are maximum 1000 de caractere
Exemplul 1[edit | edit source]
- Intrare
3 ana are mere el are ea are pere prune
- Iesire
Datele de intrare corespund restrictiilor impuse ana el ea are are are mere pere prune
Exemplul 2[edit | edit source]
- Intrare
-1
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def main():
# Citirea numărului de șiruri de la tastatură n = int(input().strip())
# Verificarea dacă numărul de șiruri respectă restricțiile if not 1 <= n <= 10: print("Datele de intrare nu corespund restrictiilor impuse") return
# Citirea șirurilor de la tastatură și separarea lor în cuvinte siruri = [input().strip().split() for _ in range(n)]
# Verificarea dacă șirurile respectă restricțiile if any(len(sir) > 1000 or not all(cuvant.isalpha() for cuvant in sir) for sir in siruri): print("Datele de intrare nu corespund restrictiilor impuse") return
print("Datele de intrare corespund restrictiilor impuse")
# Crearea unui nou șir format din cuvintele fiecărui șir în ordinea citirii sir_nou = [] for i in range(max(len(sir) for sir in siruri)): for sir in siruri: if i < len(sir): sir_nou.append(sir[i])
# Afișarea noului șir print(' '.join(sir_nou))
if __name__ == "__main__":
main()
</syntaxhighlight>