FANDOM


Check Tesztelve a 3.4.3 verzióban.

# -*- coding: utf-8 -*-
# Fej vagy írás -- 2015. őszi érettségi

import random

random.seed()

def f(i):
    print("%d. feladat" % i)

def egydobas():
    return random.choice('FI')

f(1)
print('A pénzfeldobás eredménye: ' + egydobas())

f(2)
tipp = input('Tippeljen! (F/I)= ')
dob = egydobas()
print('A tipp %s, a dobás eredménye %s volt.' % (tipp, dob))
print('Ön eltalálta.' if tipp == dob else 'Ön nem találta el.')
# A feladat szövegében pont, a mintában felkiáltójel van a mondat végén, ez ellentmondás.

# A 3-6. feladat előkészítése. Kénytelenek vagyunk klasszikus programozási tételeket használni.
darab = 0
darabF = 0
darabmost = 0
darab2F = 0
maxhossz = 0
maxkezdet = 0
with open('kiserlet.txt') as inp:
    for sor in inp:
        darab +=1
        if sor[0] == 'F':
            darabF += 1
            darabmost += 1
        else:
            if darabmost == 2:
                darab2F +=1
            if darabmost > maxhossz:
                 maxhossz = darabmost
                 maxkezdet = darab - maxhossz
            darabmost = 0
# Ha a végén volt találat:
if darabmost == 2:
    darab2F +=1
if darabmost > maxhossz:
     maxhossz = darabmost
     maxkezdet = darab - maxhossz
f(3)
print('A kísérlet %d dobásból állt.' % darab)
f(4)
print('A kísérlet során a fej relatív gyakorisága %.2f%% volt.' % (darabF / darab * 100)) # Tizedespont lesz, nem vessző.
f(5)
print('A kísérlet során %d alkalommal dobtak pontosan két fejet egymás után.' % darab2F)
f(6)
print('A leghosszabb tisztafej sorozat %d tagból áll, kezdete a(z) %d. dobás.' % (maxhossz, maxkezdet))

#7. feladat, első megoldás, nagyon klasszikus, a legegyszerűbb eszközökkel
out = open('dobasok.txt', 'w')
ffff = 0
fffi = 0
dobasok = []
for i in range(1000):
    dobas = ''
    for j in range(4):
        dobas += egydobas()
    if dobas == 'FFFF':
        ffff += 1
    if dobas == 'FFFI':
        fffi +=1
    dobasok.append(dobas)
out.write('FFFF: %d, FFFI: %d\n' % (ffff, fffi))
out.write(' '.join(dobasok))
out.close()

#7. feladat, második megoldás, reguláris kifejezésekkel (nem középiskolai anyag)
import re
out = open('dobasok.txt', 'w')
dobasok = ''
for i in range(1000):
    for j in range(4):
        dobasok += egydobas()
    dobasok += ' '
out.write('FFFF: %d, FFFI: %d\n' % (len(re.findall('FFFF', dobasok)), len(re.findall('FFFI', dobasok))))
out.write(dobasok)
out.close()

#7. feladat, harmadik megoldás, reguláris kifejezésekkel és listaképzéssel
import re
out = open('dobasok.txt', 'w')
dobasok = ' '.join([''.join([egydobas() for i in range(4)]) for i in range(1000)])
out.write('FFFF: %d, FFFI: %d\n%s' % (len(re.findall('FFFF', dobasok)), len(re.findall('FFFI', dobasok)), dobasok))
out.close()

Ez a szócikk forráskódot tartalmaz, amely egy WikiMedia-kiegészítés segítségével olyan színesen jeleníthető meg, mint például ebben a Wikipédia-cikkben. A kiegészítést a Wikia-stáb ígérete szerint 2010 végéig frissítik, addig türelmet kérünk a fapados kinézet miatt.

Érettségi feladatok programozásból
2004 Személyazonosító jel

2005 LottóVigenère-tábla 2006 TelefonszámlaFehérjeZenei adók 2007 SMS-szavakFoci 2008 SMSRobot 2009 LiftAutomataÚtépítés 2010 HelyjegyTelekAnagramma 2011 SzójátékRejtvényPitypang 2012 FutárTörtekSzín-kép 2013 VálasztásokSzámokKözúti ellenőrzés 2014 IPv6CéllövészetNézőtér 2015 ExpedícióLatin táncokFej vagy írás 2016 ÖtszázZárTelefonos ügyfélszolgálat 2017 TesztversenyFürdőHiányzások

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.