Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- def mobilszam_e(karakterlanc):
- return (True if karakterlanc.startswith(('39','41','71')) else False)
- def időpontot_karakterláncokból_számokká(lista):
- return [ int(elem) for elem in lista ]
- def másodperccé_alakit(időadat):
- return(60*60*időadat[0]+60*időadat[1]+időadat[2])
- def időkülönbséget_számol(későbbi, korábbi):
- különbség_másodperc = másodperccé_alakit(későbbi) - másodperccé_alakit(korábbi)
- különbség_óra = különbség_másodperc // 3600
- különbség_másodperc -= különbség_óra * 3600
- különbség_perc = különbség_másodperc // 60
- különbség_másodperc -= különbség_perc * 60
- return([különbség_óra, különbség_perc, különbség_másodperc])
- def számlázott_perccé_alakít(időadat):
- return(60 * időadat[0] + időadat[1] + (0 if not időadat[2] else 1))
- def csúcsidős_e_a_hívás(időadat):
- return (True if másodperccé_alakit(időadat) >= 7*60*60 and másodperccé_alakit(időadat) < 18*60*60 else False)
- def perccé_alakít(másodperc):
- perc = másodperc // 60
- másodperc -= perc *60
- perc += másodperc / 60
- return perc
- #1. feladat
- print('Ez mobilszám.') if mobilszam_e(input('Kérek egy telefonszámot! ')) else print('Ez nem mobilszám.')
- #2. feladat
- kezdetlista = időpontot_karakterláncokból_számokká((input('Kérem a beszélgetés kezdetének időpontját (Ó P M): ')).split())
- végelista = időpontot_karakterláncokból_számokká((input('Kérem a beszélgetés végének időpontját (Ó P M): ')).split())
- print('Ez egy', számlázott_perccé_alakít(időkülönbséget_számol(végelista, kezdetlista)), 'perces beszélgetés volt.')
- #3. feladat
- sorok = [sor.strip() for sor in open('HIVASOK.TXT')]
- híváslista = []
- for szám, idők in zip(sorok[1::2], sorok[::2]):
- híváslista += [[ szám, időpontot_karakterláncokból_számokká(idők.split()[:3]) , időpontot_karakterláncokból_számokká(idők.split()[3:]) ]]
- célfájl = open('percek.txt', 'w')
- for hívás in híváslista:
- célfájl.write('{0} {1}\n'.format(számlázott_perccé_alakít(időkülönbséget_számol(hívás[2],hívás[1])), hívás[0]))
- célfájl.close()
- #4. feladat
- csúcsidőbeni_hívások = 0
- csúcsidőn_kívüli_hívások = 0
- for hívás in híváslista:
- if csúcsidős_e_a_hívás(hívás[1]):
- csúcsidőbeni_hívások += 1
- else:
- csúcsidőn_kívüli_hívások += 1
- print('Csúcsidőbeni hívások száma:', csúcsidőbeni_hívások, 'csúcsidőn kívüli hívások száma:', csúcsidőn_kívüli_hívások)
- #5. feladat
- mobillal_idő = 0
- vezetékessel_idő = 0
- for hívás in híváslista:
- hívás += [ másodperccé_alakit(időkülönbséget_számol(hívás[2], hívás[1])) ]
- if mobilszam_e(hívás[0]):
- mobillal_idő += hívás[3]
- else:
- vezetékessel_idő += hívás[3]
- print('Mobillal', perccé_alakít(mobillal_idő), 'vezetékessel', perccé_alakít(vezetékessel_idő), 'percet beszélt.')
- #7. feladat
- mobillal_percek = 0
- vezetékessel_percek = 0
- for hívás in híváslista:
- if csúcsidős_e_a_hívás(hívás[1]):
- if mobilszam_e(hívás[0]):
- mobillal_percek += számlázott_perccé_alakít(időkülönbséget_számol(hívás[2],hívás[1]))
- else:
- vezetékessel_percek += számlázott_perccé_alakít(időkülönbséget_számol(hívás[2],hívás[1]))
- print('Fizetendő:', mobillal_percek * 69.175 + vezetékessel_percek * 30, 'jó HUF.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement