Advertisement
Derhion

lacikaasdfafinal

Dec 10th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.68 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. #   Keszitette
  5. #   Csonka Laszlo
  6. #
  7. #   Neptun:
  8. #
  9. #
  10. import random
  11. import urllib2
  12.  
  13. print("\n")
  14.  
  15. ### Elso feladat
  16. # try hogy ne boroljunk ossze
  17. try:
  18.     #nev listak betoltese
  19.     ferfiNevekUrl = urllib2.urlopen(
  20.         "http://www.born.nhely.hu/Python/itt_lesz_majd_az_eloZH/pot_12_nevek/osszesffi_ektelen.txt", "r")
  21.     noiNevekUrl = urllib2.urlopen(
  22.         "http://www.born.nhely.hu/Python/itt_lesz_majd_az_eloZH/pot_12_nevek/osszesnoi_ektelen.txt", "r")
  23.     ferfiNevek = []
  24.     noiNevek = []
  25.  
  26.     #nev listak tarolasa tombokben
  27.     for line in ferfiNevekUrl:
  28.         ferfiNevek.append(line.rstrip())
  29.  
  30.     for line in noiNevekUrl:
  31.         noiNevek.append(line.rstrip())
  32.  
  33.     # első sorok nem nevek, ezért törlöm
  34.     del ferfiNevek[0]
  35.     del noiNevek[0]
  36. finally:
  37.     #fileok lezarasa
  38.     ferfiNevekUrl.close()
  39.     noiNevekUrl.close()
  40.  
  41. #elso feladat kimenete
  42. print("A fajlokban " + str(len(ferfiNevek)) + " darab ferfi nev és " + str(len(noiNevek)) + " darab noi nev talalhato!" )
  43.  
  44. #nevek osszesítese egy listaba
  45. osszesNev = []
  46. for nev in ferfiNevek:
  47.     osszesNev.append(nev)
  48. for nev in noiNevek:
  49.     osszesNev.append(nev)
  50.  
  51. ## nevek kiirasa feladat szerint, egyszerre csak 10 et és enterre folytatom
  52. i = 1
  53. while True:
  54.     print osszesNev[i-1]
  55.     if (i%10 == 0 ) and not (i == 0):
  56.         print("Nyomjon entert a folytatashoz, vagy irjon be x et a kilepeshez...")
  57.         if raw_input() == 'x':
  58.             break
  59.     i += 1
  60.  
  61. ### Masodik feladat
  62. ferfimax = 0
  63. ferfimin = len(ferfiNevek[0])
  64. noimax = 0
  65. noimin = len(noiNevek[0])
  66.  
  67. #meghatarozom melyik a legkisebb es leghosszabb ferfi ill noi nev
  68. for nev in ferfiNevek:
  69.     if( len(nev)) > ferfimax:
  70.         ferfimax = len(nev)
  71.     if (len(nev)) < ferfimin:
  72.         ferfimin = len(nev)
  73.  
  74. for nev in noiNevek:
  75.     if( len(nev)) > noimax:
  76.         noimax = len(nev)
  77.     if (len(nev)) < noimin:
  78.         noimin = len(nev)
  79.  
  80. ferfiLeghosszabbbak = []
  81. ferfiLegrovidebbek = []
  82. noiLeghosszabbbak = []
  83. noiLegrovidebbek = []
  84.  
  85. # felveszek tombok
  86. for nev in ferfiNevek:
  87.     if len(nev) == ferfimax:
  88.         ferfiLeghosszabbbak.append(nev)
  89.     if len(nev) == ferfimin:
  90.         ferfiLegrovidebbek.append(nev)
  91.  
  92. for nev in noiNevek:
  93.     if len(nev) == noimax:
  94.         noiLeghosszabbbak.append(nev)
  95.     if len(nev) == noimin:
  96.         noiLegrovidebbek.append(nev)
  97. '''
  98. i = 1
  99. print("Leghosszabb ferfi nevek " + str())
  100. for nev in ferfiLeghosszabbbak:
  101.    print( str(i) +". " + nev)
  102.    if (i%5 == 0 ) and i != 0:
  103.        print("Nyomjon entert a folytatashoz...")
  104.        raw_input()
  105.    i += 1
  106.  
  107. print("Nyomjon entert a folytatashoz...")
  108. raw_input()
  109.  
  110. i = 1
  111. print("Leghosszabb noi nevek:")
  112. for nev in noiLeghosszabbbak:
  113.    print(str(i) +". " + nev)
  114.    if (i%5 == 0 ) and i != 0:
  115.        print("Nyomjon entert a folytatashoz...")
  116.        raw_input()
  117.    i += 1
  118.  
  119. i = 1
  120. print("Legrovidebb ferfi nevek " + str())
  121. for nev in ferfiLegrovidebbek:
  122.    print( str(i) +". " + nev)
  123.    if (i%5 == 0 ) and i != 0:
  124.        print("Nyomjon entert a folytatashoz...")
  125.        raw_input()
  126.    i += 1
  127.  
  128. i = 1
  129. print("Legrovidebb noi nevek:")
  130. for nev in noiLegrovidebbek:
  131.    print(str(i) +". " + nev)
  132.    if (i%5 == 0 ) and i != 0:
  133.        print("Nyomjon entert a folytatashoz...")
  134.        raw_input()
  135.    i += 1
  136. '''
  137. ### Harmadik feladat
  138. lyNevek = []
  139. for nev in osszesNev:
  140.     if nev.count("ly") != 0 or nev.count("Ly") != 0:
  141.         lyNevek.append(nev)
  142. '''
  143. print("Ly-t tartalamzó nevek: ")
  144. i = 1
  145. for nev in lyNevek:
  146.    print( str(i )+ ". " + nev)
  147.    if (i % 5 == 0) and i != 0:
  148.        print("Nyomjon entert a folytatashoz...")
  149.        raw_input()
  150.    i += 1
  151. '''
  152.  
  153. ### Negyedik es otodik feladat
  154. print("Milyen hosszú szóláncot akar?")
  155. # bekérem milyen hosszu lancot alkosson
  156. x = raw_input()
  157.  
  158. elozoElem = random.choice(osszesNev)
  159. isFerfi = False
  160. szolanc = ""
  161.  
  162. ferfiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), noiNevek)
  163. ferfiTmp2 = random.choice(ferfiTmp)
  164. #for nev in ferfiTmp:
  165.     #print(nev)
  166.  
  167. while len(szolanc) < x:
  168.     if elozoElem in ferfiNevek:
  169.         isFerfi = True
  170.  
  171.     if isFerfi:
  172.         #ha elozo ferfi kiszurom a noi nevekbol az elozo vegevel kezdodoket
  173.         ferfiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), noiNevek)
  174.         ferfiTmp = random.choice(ferfiTmp)
  175.         szolanc += ferfiTmp
  176.         elozoElem = ferfiTmp
  177.     else:
  178.         noiTmp = filter(lambda s: s[0] == elozoElem[-1].upper(), ferfiNevek)
  179.         noiTmp = random.choice(noiTmp)
  180.         szolanc += noiTmp
  181.         elozoElem = noiTmp
  182.  
  183. #levágom ami hosszabb mint a kért szolanc
  184. szolanc = szolanc[0:x]
  185. print(szolanc.lower())
  186.  
  187.  
  188. ### Otodik feladat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement