Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!
Python házifeladat
nagyandras02263
kérdése
69
Sziasztok. Valaki tudna segíteni ebben a három python feladatban? Előre is köszi a válaszokat!
1, Bence a zsebpénzéből egy új mikrofont szeretne venni. Szerencséjére a kedvenc webshopja épp
kiárusítást tart, így minden szórakoztató elektronikai termék akciósan vásárolható meg.
Írj egy programot, amely két paramétert vár: a webshopban található mikrofonok eredeti árát
(egész számokat tároló lista) és a leárazás mértékét százalékban (valós szám)! A függvény
csökkentse a listában lévő árakat az adott százalékkal, és térjen vissza az így kapott listával! Az
árak továbbra is egészek legyenek (ne tizedestörtek)!
Példa:
Input: [5000, 12000, 10000, 29000, 47000], 30.0
Return: [3500, 8400, 7000, 20300, 32900]
2,Írj egy programot, amely egy szöveget kap paraméterül (a szöveg szóközzel elválasztott szavakat
tartalmaz)! A függvény térjen vissza a szövegben található leghosszabb szóval! Amennyiben több
szó is ugyanolyan hosszú, akkor közülük a szövegben korábban előfordulót add vissza!
Ha a paraméterül kapott szöveg az üres string, akkor a visszatérési érték a HIBA! szöveg
legyen!
Példa:
Input: 'Szia uram! Mondd mar meg, hogy hany ora van!'
Return: 'uram!'
Input: ''
Return: 'HIBA!'
3,Írj egy programot, amely egy jelszavakat tartalmazó listát kap paraméterül! A függvény adja vissza
ezek közül a gyenge jelszavakat egy listában! Egy jelszót gyengének tekintünk, ha az alábbi
feltételek közül legalább 1 érvényes rá:
• A jelszó rövidebb, mint 5 karakter
• A jelszó nem tartalmaz számjegy karaktert
• A jelszó tartalmazza a jelszo vagy 123 szövegek valamelyikét bármilyen formában (a
kis- és nagybetűket nem megkülönböztetve).
Példa:
Input: ['Root', 'Kekw2000', 'H0sszuJelszoG0esBrrr', 'Admin123456', 'sub2Pewdiepie', 'asdqwe',
'K1L0']
Return: ['Root', 'H0sszuJelszoG0esBrrr', 'Admin123456', 'asdqwe', 'K1L0']
Jelenleg 1 felhasználó nézi ezt a kérdést.
python
0
Középiskola / Informatika
Válaszok
1
VF{ Informatikus }
válasza
1. Kissé zagyva:
• Először programról beszél, aztán meg függvényről (függvényt választottam)
• Azt kéri, hogy az eredmények egész számok legyenek, de nem mondja meg, hogy kerekíts vagy nyess (kerekítést választottam)
def learazas(eredeti_ar_lista, learazas):
return [round(ar / 100 * (100 - learazas)) for ar in eredeti_ar_lista]
def leghosszabb_szo(szoveg):
if szoveg == '':
return'HIBA!'
szo_lista = szoveg.split()
leghosszabb = ''
for szo in szo_lista:
if len(leghosszabb) < len(szo):
leghosszabb = szo
return leghosszabb
3. (Jessz! Befért egy sorba.)
def gyenge_jelszo(jelszo_lista):
return list(filter(lambda jelszo: len(jelszo) < 5 or not any([str(szamjegy) in jelszo for szamjegy in range(10)]) or 'jelszo' in jelszo.lower() or '123' in jelszo, jelszo_lista))
Ismét a kapkodás, a list comprehension nem kellett bele:
def gyenge_jelszo(jelszo_lista):
return list(filter(lambda jelszo: len(jelszo) < 5 or not any(filter(str.isdigit, list(jelszo))) or 'jelszo' in jelszo.lower() or '123' in jelszo, jelszo_lista))
for jelszo in jelszo_lista:
if len(jelszo) < 5:
gyenge_lista.append(jelszo)
elif not any(filter(str.isdigit, list(jelszo))):
gyenge_lista.append(jelszo)
elif 'jelszo' in jelszo.lower() or '123' in jelszo:
gyenge_lista.append(jelszo)
return gyenge_lista
Módosítva: 2 hete
1
nagyandras02263:
Picit le tudnád ezt egyszerűsiteni ?
2 hete0
VF:
Jó, picit később szétszedem őket. Bár esélyes, hogy addig kapsz mástól olvashatóbbat.
2 hete0
nagyandras02263:
Oké, köszönöm!
2 hete0
VF:
Beszúrogattam a szétszedett változatokat.
2 hete0
nagyandras02263:
Köszönöm szépen a segítséget!
2 hete0