Smith Wesson

Smith & Wesson

Avtor: Daniel Prša

Besedilo naloge

Znak "&" se pogosto uporablja namesto besede "in". (Pravzaprav je nastal tako, da so ljudje vedno bolj skupaj in vedno bolj umetelno pisali besedo "et", to je "in" po latinsko. Zato "&" včasih še vedno izgovorimo "et".)

Vendar pa tega znaka ne uporabljamo kar vsepovprek. Tale stavek, na primer, je videti kaj čudno:
Rdeča kapica je šla k babici & ji nesla potico & grozdje.

Razlog je, da "&" uporabimo predvsem v sestavljenih imenih. Na primer:
Lovec je s svojim Smith & Wesson revolverjem ustrelil volka, objel Rdečo kapico in šel domov gledat Tom & Jerrya.

Če malo poenostavimo, lahko rečemo, da se da besedo "in" zamenjati z znakom "&", če se ta "in" nahaja med dvema besedama z veliko začetnico.

Napiši program, ki bo prebral stavek, zamenjal "in" z "&" povsod, kjer pravkar opisano pravilo to dovoljuje in izpisal spremenjeni stavek.

Primer:
    Vnesite stavek: Zajca Rado in Lado imata rada korenje in kolerabo.
    Zajca Rado & Lado imata rada korenje in kolerabo.

Kako se bomo lotili naloge

Najprej želimo od uporabnika pridobiti vnos, zato uporabimo input
Pridobljen niz bomo nato s pomočjo metode split spremenili v seznam.

    seznam = stavek.split()


Nato uporabimo zanko, s katero bomo pregledali seznam.

    while ind < len(seznam)


V zanki poiščemo 'in'. Ko v zanki najdemo "in" moramo preveriti ali se nahaja med dvema nizoma, ki sta napisana z veliko začetnico. Zato uporabimo vgrajeno metodo istitle. Preverjali bomo prejšnji niz in sledeči niz v seznamu:

    if seznam[ind-1].istitle() and seznam[ind+1].istitle():


Če pogoj drži, "in" zamenjamo z "&".

    seznam[ind] = '&'


Seznam moramo na koncu spremeniti nazaj v niz. Uporabimo vgrajeno metodo join

    ' '.join(seznam)

Rešitev naloge

Celoten program izgleda takole:

(smith.png)
Smith & Wesson

Preverimo rešitev v lupini:

0%
0%