Python (2) programozás tanulásában elakadtam, egy gyakorló feladat megoldásában kérnék segítséget, hogy mi a megoldás?
Szóval ennek a 2 feladatnak a megoldása kéne, hogy kielemezzem... Eddig minden rész, nagyon jól ment.
5.6 Írjon egy programot, ami meghatározza, hogy egy karakterlánc tartalmazza-e az 'e' karaktert.
5.8 Írjon egy programot, ami új változóba másol át egy karakterláncot úgy, hogy csillagot szúr be a karakterek közé. Így pl., 'gaston'ból 'g*a*s*t*o*n' lesz.
Pedig ciklussal (is) könnyen megoldhatóak.
1.
végig a stringen
-ha 'e' akkor van, kilép
nincs
1.b
print 'e' in s
2.
végig a stringen
-másikhoz hozzádobod az aktuális betűt
-hozzáteszed a csillagot
a végéről leveszel egy csillagot
5.6: for ciklussal megoldhatod, a len() fügvényt kell még használnod és azt hogy hogy éred el a string elemeit
5.8: szintén for ciklus, de nem a string teljes hosszán kell végigmenni csak egyel kevesebbszer.
Egy megoldás, amit remélem nem fogsz érteni és nem fogsz tudni használni, mert nem akarom megoldani helyetted a házifeladatod, de Pythonban szerintem így csinálnánk.
5.6
if 'e' in str: return True
else: return False
5.8
str2 = '*'.join(str.split(''))
Hülye vagyok, az 5.6 simán írható így:
return 'e' in str
iostream: a split() nem megy üres sztringgel...
ez helyette:
def stars(s):
return s[0]+''.join('*'+c for c in s[1:])
Való igaz. Ezért jó a interaktív interpreter, ki lehet próbálni dolgokat :) De akkor már ne bonyolítsd azzal, hogy generátort írsz, a string önmagában egy felsorolás:
str2 = '*'.join(str)
szo = input('Írja be a karkterláncot:')
if ('e') in szo:
print('Van benne <e> betű.')
else:
print('Nincs benne <e> betű.')
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!