Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- # Keszitette
- # Csonka Laszlo
- #
- # Neptun:
- #
- #
- import random
- import urllib2
- print("\n")
- ### Elso feladat
- # try hogy ne boroljunk ossze
- try:
- #nev listak betoltese
- ferfiNevekUrl = urllib2.urlopen(
- "http://www.born.nhely.hu/Python/itt_lesz_majd_az_eloZH/pot_12_nevek/osszesffi_ektelen.txt", "r")
- noiNevekUrl = urllib2.urlopen(
- "http://www.born.nhely.hu/Python/itt_lesz_majd_az_eloZH/pot_12_nevek/osszesnoi_ektelen.txt", "r")
- ferfiNevek = []
- noiNevek = []
- #nev listak tarolasa tombokben
- for line in ferfiNevekUrl:
- ferfiNevek.append(line.rstrip())
- for line in noiNevekUrl:
- noiNevek.append(line.rstrip())
- # első sorok nem nevek, ezért törlöm
- del ferfiNevek[0]
- del noiNevek[0]
- finally:
- #fileok lezarasa
- ferfiNevekUrl.close()
- noiNevekUrl.close()
- #elso feladat kimenete
- print("A fajlokban " + str(len(ferfiNevek)) + " darab ferfi nev és " + str(len(noiNevek)) + " darab noi nev talalhato!" )
- #nevek osszesítese egy listaba
- osszesNev = []
- for nev in ferfiNevek:
- osszesNev.append(nev)
- for nev in noiNevek:
- osszesNev.append(nev)
- ## nevek kiirasa feladat szerint, egyszerre csak 10 et és enterre folytatom
- i = 1
- while True:
- print osszesNev[i-1]
- if (i%10 == 0 ) and not (i == 0):
- print("Nyomjon entert a folytatashoz, vagy irjon be x et a kilepeshez...")
- if raw_input() == 'x':
- break
- i += 1
- ### Masodik feladat
- ferfimax = 0
- ferfimin = len(ferfiNevek[0])
- noimax = 0
- noimin = len(noiNevek[0])
- #meghatarozom melyik a legkisebb es leghosszabb ferfi ill noi nev
- for nev in ferfiNevek:
- if( len(nev)) > ferfimax:
- ferfimax = len(nev)
- if (len(nev)) < ferfimin:
- ferfimin = len(nev)
- for nev in noiNevek:
- if( len(nev)) > noimax:
- noimax = len(nev)
- if (len(nev)) < noimin:
- noimin = len(nev)
- ferfiLeghosszabbbak = []
- ferfiLegrovidebbek = []
- noiLeghosszabbbak = []
- noiLegrovidebbek = []
- # felveszek tombok
- for nev in ferfiNevek:
- if len(nev) == ferfimax:
- ferfiLeghosszabbbak.append(nev)
- if len(nev) == ferfimin:
- ferfiLegrovidebbek.append(nev)
- for nev in noiNevek:
- if len(nev) == noimax:
- noiLeghosszabbbak.append(nev)
- if len(nev) == noimin:
- noiLegrovidebbek.append(nev)
- '''
- i = 1
- print("Leghosszabb ferfi nevek " + str())
- for nev in ferfiLeghosszabbbak:
- print( str(i) +". " + nev)
- if (i%5 == 0 ) and i != 0:
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i += 1
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i = 1
- print("Leghosszabb noi nevek:")
- for nev in noiLeghosszabbbak:
- print(str(i) +". " + nev)
- if (i%5 == 0 ) and i != 0:
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i += 1
- i = 1
- print("Legrovidebb ferfi nevek " + str())
- for nev in ferfiLegrovidebbek:
- print( str(i) +". " + nev)
- if (i%5 == 0 ) and i != 0:
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i += 1
- i = 1
- print("Legrovidebb noi nevek:")
- for nev in noiLegrovidebbek:
- print(str(i) +". " + nev)
- if (i%5 == 0 ) and i != 0:
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i += 1
- '''
- ### Harmadik feladat
- lyNevek = []
- for nev in osszesNev:
- if nev.count("ly") != 0 or nev.count("Ly") != 0:
- lyNevek.append(nev)
- '''
- print("Ly-t tartalamzó nevek: ")
- i = 1
- for nev in lyNevek:
- print( str(i )+ ". " + nev)
- if (i % 5 == 0) and i != 0:
- print("Nyomjon entert a folytatashoz...")
- raw_input()
- i += 1
- '''
- ### Negyedik es otodik feladat
- print("Milyen hosszú szóláncot akar?")
- # bekérem milyen hosszu lancot alkosson
- x = raw_input()
- elozoElem = random.choice(osszesNev)
- isFerfi = False
- szolanc = ""
- ferfiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), noiNevek)
- ferfiTmp2 = random.choice(ferfiTmp)
- #for nev in ferfiTmp:
- #print(nev)
- while len(szolanc) < x:
- if elozoElem in ferfiNevek:
- isFerfi = True
- if isFerfi:
- #ha elozo ferfi kiszurom a noi nevekbol az elozo vegevel kezdodoket
- ferfiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), noiNevek)
- ferfiTmp = random.choice(ferfiTmp)
- szolanc += ferfiTmp
- elozoElem = ferfiTmp
- else:
- noiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), ferfiNevek)
- noiTmp = random.choice(noiTmp)
- szolanc += noiTmp
- elozoElem = noiTmp
- #levágom ami hosszabb mint a kért szolanc
- szolanc = szolanc[0:x]
- print(szolanc.lower())
- ### Otodik feladat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement