![]() |
|
|
NiziBrez? Brez!1. podnalogaNapišite
funkcijo Uradna rešitevdef brez(niz):
"""sestavi nov niz, pri katerem spustimo prvi in zadnji znak niza"""
nov_niz = ''
ind = 1
while ind < len(niz) - 1: # spustimo prvega in zadnjega
nov_niz += niz[ind]
ind += 1
return nov_niz
# Še ena možnost
def brez(niz):
"""vrne niz brez prvega in zadnjega znaka"""
return niz[1:-1]
2. podnalogaNapišite
funkcijo
Uradna rešitevdef brez_stevk(niz):
"""sestavi nov niz, pri katerem spustimo števke"""
nov_niz = ''
ind = 0
while ind < len(niz):
nek_znak = niz[ind]
if not ('0' <= nek_znak <= '9'): # v nek_znak ni števke
nov_niz += nek_znak # dodamo k novemu nizu
ind += 1
return nov_niz
3. podnalogaNapišite
funkcijo
Uradna rešitevdef brez_sredine(niz):
"""V nizu spusti srednji znak
če pa srednjega znaka ni, niz ohrani """
dol_niza = len(niz)
if dol_niza % 2 == 0: # niz je sode dolžine
return niz
# niz je lihe dolžine
nov_niz = ''
ind = 0
# prepišemo prvo polovico
while ind < dol_niza // 2:
nek_znak = niz[ind]
nov_niz += nek_znak # dodamo k novemu nizu
ind += 1
# in še drugo
ind += 1
while ind < dol_niza:
nek_znak = niz[ind]
nov_niz += nek_znak # dodamo k novemu nizu
ind += 1
return nov_niz
#ali pa tako
def brez_sredine(niz):
"""V nizu spusti srednji znak
če pa srednjega znaka ni, niz ohrani """
dolzina = len(niz)
if dolzina % 2 == 0:
return niz
else:
sredina = dolzina // 2
nov_niz = niz[:sredina] + niz[sredina+1:]
return nov_niz
ČrkojedkaNekoč je živela ptica Črkojedka, ki je imela še posebej rada samoglasnike.
Še posebej od takrat, ko se je naučila, da v Pythonu lahko preverimo,
ali je nek znak samoglasnik s pomočjo operatorja
Kadar je pojedla samoglasnik, je na tistem mestu pustila 1. podnalogaSestavite funkcijo
Uradna rešitevdef crkojedka(niz):
""" funkcija v dani besedi samoglasnike zamenja z *"""
samoglasniki ='aeiouAEIOU'
nov_niz=''
i = 0
while i < len(niz):
znak = niz[i]
if znak in samoglasniki:
# pogleda ali je posamezen znak v nizu samoglasnik
# in če je, potem ga nadomesti z *
nov_niz += '*'
else: # sicer ga le prepiše
nov_niz += znak
i += 1
return nov_niz
2. podnalogaDoločene besede so bile bolj kalorične (vsebovale več samoglasnikov), določene manj.
Ker je Črkojedka na dieti, ji sestavite funkcijo, ki ji bo pomagala izbirati
ustrezno hrano. Funkcija
Uradna rešitevdef crkojedka_hujsa(niz):
''' funkcija prešteje samoglasnike *'''
samoglasniki ='aeiouAEIOU'
kaloricna_vrednost = 0
i = 0
while i < len(niz):
znak = niz[i]
if znak in samoglasniki:
# pogleda ali je posamezen znak v nizu samoglasnik
kaloricna_vrednost += 1
i += 1
return kaloricna_vrednost
3. podnalogaPo neki precej "živahni" zabavi se je Črkojedka odmajala domov. Zjutraj se je
zbudila s hudim ... (hm, verjetno ne mačkom, kaj menite?). In opazila je,
da so se sedaj njene prehrambene navade spremenile. Sedaj ni več samoglasnikov
nadomeščala z *, ampak z ničemer več. Poleg tega pa se je vrstni red preostalih
znakov obrnil!
Sestavite funkcijo
Uradna rešitevdef crkojedka_ne_pij(niz):
""" funkcija v dani besedi izloči samoglasnike in obrne vrstni red znakov"""
samoglasniki ='aeiouAEIOU'
nov_niz=''
i = 0
while i < len(niz):
znak = niz[i]
if not znak in samoglasniki: # če znak ni samoglasnik
nov_niz = znak + nov_niz # ga doda na konec
i += 1
return nov_niz
Naloga 1 (stran 97)http://lusy.fri.uni-lj.si/ucbenik/book/1206/index8.html 1. podnalogaNaslednja funkcija dobi kot parameter niz
Uradna rešitevdef pobrisi_oklepaje(s):
"""Iz niza odstrani oklepaje (in tisto, kar je vmes)"""
v_oklepaju = False
niz_brez_ok = "" # izhodni niz
for znak in s:
if znak == "(":
v_oklepaju = True
elif znak == ")":
v_oklepaju = False
elif not v_oklepaju:
niz_brez_ok += znak
# če pa smo v oklepaju, znak spustimo!
return niz_brez_ok
2. podnalogaKaj se zgodi, če tej funkciji damo niz z ugnezdenimi oklepaji,
na primer Uradna rešitevdef pobrisi_gnezdene_oklepaje(s):
'''Iz niza odstrani oklepaje (in tisto, kar je vmes)
in dela tudi z gnezdenimi oklepaji
'''
v_oklepaju = 0 # štejemo, kako "globoko" smo
t = "" # izhodni niz
for c in s:
if c == "(":
v_oklepaju += 1 # eno globlje
elif c == ")":
v_oklepaju -= 1 # ven iz enega gnezdenja
elif v_oklepaju == 0: # če smo povsem ven
t += c
# še vedno smo znotraj oklepajev
return t
Velike in male1. podnalogaTeta Helga je pisala pismo svojemu prijatelju Hansu. Teta Helga je tako zelo spretna z računalniki, da lahko tipka pismo, ne da bi spremljala na ekranu kaj se dogaja. Ko je vsa zadovoljna napisala pismo, jo je zadel šok ko ga je pogledala. Nevede je imela ves čas pritisnjeno tipko caps lock in so se vse velike in male črke ravno zamenjale. Pomagajte teti Helgi in sestavite funkcijo
Uradna rešitevdef obrni(niz):
"""Sprejme niz in vrne nov niz, v katerem so velike črke zamenjane z malimi in obratno"""
nov_niz = ''
for znak in niz:
if znak.islower():
znak = znak.upper()
else:
znak = znak.lower()
nov_niz += znak
return nov_niz
Mesto objave ob koncu projekta 15.9.2018
|