Új hozzászólás Aktív témák
-
cousin333
addikt
Köszönöm!
Így azért már más a megoldás, hiszen a feladat szerint nem lehet egyszerre beolvasni a teljes fájlt. Ebben az esetben az első 2 példa továbbra is érvényes, a harmadiktól kezdve más megközelítés szükséges. Én összevonnám a feladatokat, hogy a fájlt csak egyszer kelljen megnyitni és iterálni benne. Remélem nem maradt ki semmi, nem futtattam le a kódot:
with open("kiserlet.txt", "r") as f:
fej_db = 0 # Fejek száma
iras_db = 0 # Írások száma
dupla_db = 0 # A pontosan két egymást követő fejek száma
csakfej = 0 # A csak fejekből álló sorozat aktuális hossza
csakfej_max = 0 # A csak fejekből álló sorozat maximális hossza
# A legutóbbi három dobás tárolása
e1, e2, e3 = None, None, None
# Szépen soronként végiglépdelünk a fájlon
for line in f:
line = line.strip('\n')
if line == 'F':
fej_db += 1
# Számolás a 6. feladathoz
csakfej += 1
csakfej_max = max(csakfej_max, csakfej)
if line == 'I':
iras_db += 1
# Számolás a 6. feladathoz
csakfej_max = max(csakfej_max, csakfej)
csakfej = 0
# Számolás az 5. feladathoz
if line == 'I' and e1 == 'F' and e2 == 'F' and e3 == 'I':
dupla_db += 1
# Eltároljuk a legutóbbi dobásokat
e1, e2, e3 = line, e1, e2
# 3. feladat: Az összes dobás száma a fejek és írások összege
ossz_db = fej_db + iras_db
print('A dobások száma: {}'.format(ossz_db))
# 4. feladat
print('A fejek relatív gyakorisága: {:.2%}'.format(fej_db/ossz_db))
# 5.feladat
print('A dupla fejek száma: {}'.format(dupla_db))
# 6. feladat
print('A leghosszabb fej-sorozat: {} dobás'.format(csakfej_max)) -
cousin333
addikt
Az én is olvastam, hogy érettségi feladat. A pszeudokód fogalma is rendben van, csak fura volt a szintaktikája.
Nyilván hűen követni kell a leírást, de azt kérdezte, hogy én hogyan írnám meg
Ha ezt így érettségin elém adnák, valószínűleg a 2. megoldásomat adnám be. Vagy te máshogy írtad volna? -
MasterMark
titán
Köszi. Működik, bár nem teljesen értem.
Viszont mégsem jó valamiért.
Valaki esetleg nem tudja, hogy hogy lehetne szétválasztani reguláris kifejezéssel? Vagyis a számmal kezdődőt rakja az egyikbe, betűvel kezdődőt a másikba, üres sorokat pedig kihagyni. Bár az adódna a másik kettőből azt hiszem.
De ezt sem tudom, hogy lehetne megoldani pythonban...
Új hozzászólás Aktív témák
Hirdetés
- Soundbar, soundplate, hangprojektor
- Nagyon erős ajánlattá kezd válni a SteamOS
- AliExpress tapasztalatok
- Autós topik látogatók beszélgetős, offolós topikja
- PlayStation 1 / 2
- Kazy Computers vélemények - tapasztalatok
- A fociról könnyedén, egy baráti társaságban
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Filmvilág
- Milyen routert?
- További aktív témák...
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock B460M i5 10400 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- Phanteks NV5 MK2 White (PH-NV523TG DMW02)
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Motorola G72 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest