Facebook
From Adrian, 5 Years ago, written in Python for S60.
Embed
Download Paste or View Raw
Hits: 189
  1. from matplotlib import pyplot as pl
  2. import numpy as np
  3. from math import log, log10
  4. from random import choice
  5.  
  6.  
  7. # numbers = np.random.uniform(size=1000)
  8.  
  9.  
  10. # def generateHistogram(numbers, bins):
  11. #     min1 = min(numbers)
  12. #     max1 = max(numbers)
  13. #     diff = (max1 - min1) / bins
  14. #     values = []
  15. #
  16. #     for i in range(0, bins, 1):
  17. #         count = 0
  18. #         for x in numbers:
  19. #             if (x >= min1) and (x <= (min1 + diff)):
  20. #                 count = count + 1
  21. #         values.append(count)
  22. #         min1 = min1 + diff
  23. #
  24. #     return values
  25.  
  26. #
  27. # result = generateHistogram(result.values(), 10)
  28. # fig = pl.figure()
  29. # ax = pl.subplot()
  30. # ax.bar(range(len(result)), result)
  31. # pl.show()
  32.  
  33.  
  34. file = open("norm_hamlet.txt")
  35. txt = file.read()
  36. result = {}
  37.  
  38. for x, text in enumerate(txt.strip()):
  39.     try:
  40.         result[txt.strip()[x:x + 5]] += 1
  41.     except:
  42.         result[txt.strip()[x:x + 5]] = 1
  43. suma = 0
  44. for k, v in result.items():
  45.     suma += v
  46.  
  47. for k, v in result.items():
  48.     result[k] = {
  49.         'value': v,
  50.         'new_value': int(round(v/suma, 3) * 1000),
  51.         'v_sume': v/suma
  52.     }
  53.  
  54. full_res = []
  55. for k, v in result.items():
  56.     for i in range(v['new_value']):
  57.         full_res.append(k)
  58.  
  59. tekst = ""
  60. counter = 0
  61. for i in range(10000):
  62.    tekst += choice(full_res)
  63.    counter += 1
  64.    if counter == 40:
  65.        counter = 0
  66.        tekst += '\n'
  67.  
  68. print(tekst)