Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- ###1. feladat
- programok = [ sor.strip() for sor in open('program.txt') ]
- programok = programok[1:]
- ###2. feladat
- print('2. feladat')
- utasításszám = int(input('Kérem az utasítássor sorszámát! ')) - 1
- ###2a. feladat
- ellentétek = [ 'DE', 'ED', 'KN', 'NK' ]
- előző_betű = programok[utasításszám][0]
- for sorszám in range(1, len(programok[utasításszám])):
- if (előző_betű + programok[utasításszám][sorszám]) in ellentétek:
- print('egyszerűsíthető')
- break
- előző_betű = programok[utasításszám][sorszám]
- else:
- print('nem egyszerűsíthető')
- ###2b. feladat
- irányok = { 'E': 0, 'D': 0, 'K': 0, 'N': 0 }
- for betű in programok[utasításszám]:
- irányok[betű] += 1
- print(abs(irányok['E']-irányok['D']), 'lépést kell tenni az ED,', abs(irányok['K']-irányok['N']), 'lépést a KN tengely mentén.')
- ###2c. feladat
- irányok = { 'E': 0, 'D': 0, 'K': 0, 'N': 0 }
- távolságok = []
- for betű in programok[utasításszám]:
- irányok[betű] += 1
- y = irányok['E']-irányok['D']
- x = irányok['K']-irányok['N']
- távolságok += [ (y**2 + x**2)**.5 ]
- print('{0:.3f}'.format(max(távolságok)))
- ###3. feladat
- print('3. feladat')
- for program in programok:
- felhasznált_energia = 3 #nem 0, mert induláshoz úgyis 2-t elhasználunk, és első utasítás is van, az még 1.
- előző_irány = program[0]
- for betű in program[1:]:
- felhasznált_energia += 1
- if betű != előző_irány: felhasznált_energia += 2
- előző_irány = betű
- if felhasznált_energia <= 100:
- print(programok.index(program)+1, felhasznált_energia)
- ###4. feladat
- célfájl = open('ujprog.txt', 'w')
- for program in programok:
- új_program = ''
- előző_irány = program[0]
- egyezésszámláló = 1
- for betű in program[1:]:
- if betű != előző_irány:
- if egyezésszámláló == 1:
- új_program += előző_irány
- else:
- új_program += str(egyezésszámláló) + előző_irány
- előző_irány = betű
- egyezésszámláló = 1
- else:
- egyezésszámláló += 1
- új_program += program[-1]
- print(új_program, file=célfájl)
- célfájl.close()
- ###5. feladat
- print('5. feladat')
- új_formátumú_utasítás = input('Kérek egy új formátumú utasítást! ')
- régi_formátumú_utasítás = ''
- számstring = ''
- előző_szám_volt = False
- for betű in új_formátumú_utasítás:
- if betű.isdecimal():
- számstring += betű
- előző_szám_volt = True
- elif előző_szám_volt: #de a mostani már betű, különben ráfutottunk volna az előző ágra
- for szám in range(int(számstring)):
- régi_formátumú_utasítás += betű
- előző_szám_volt = False
- számstring = ''
- else: #ha az előző is betű volt, meg a mostani is
- régi_formátumú_utasítás += betű
- print(régi_formátumú_utasítás)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement