форкнуто от main/python-labs
Родитель
d3c29a851e
Сommit
fa8a48eb2b
|
После Ширина: | Высота: | Размер: 12 KiB |
|
После Ширина: | Высота: | Размер: 16 KiB |
@ -0,0 +1,23 @@
|
||||
# M0.py
|
||||
import pickle
|
||||
import matplotlib.pyplot as plt
|
||||
import M2
|
||||
|
||||
def write_bin(filename,data):
|
||||
with open(filename,"wb") as f:
|
||||
pickle.dump(data,f)
|
||||
|
||||
def main():
|
||||
CC2=M2.run()
|
||||
x=[]
|
||||
i=0
|
||||
while i<len(CC2):
|
||||
x.append(i)
|
||||
i=i+1
|
||||
plt.plot(x,CC2)
|
||||
plt.grid(True)
|
||||
plt.show()
|
||||
write_bin("RES2a.bin",CC2)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@ -0,0 +1,53 @@
|
||||
# M1.py
|
||||
|
||||
def func1(CC):
|
||||
CC1 = []
|
||||
CC2 = []
|
||||
|
||||
i = 0
|
||||
while i < len(CC):
|
||||
value = CC[i]
|
||||
j = 0
|
||||
exists = 0
|
||||
while j < len(CC1):
|
||||
if CC1[j] == value:
|
||||
exists = 1
|
||||
break
|
||||
j = j + 1
|
||||
if exists == 0:
|
||||
CC1.append(value)
|
||||
i = i + 1
|
||||
|
||||
i = 0
|
||||
while i < len(CC1):
|
||||
value = CC1[i]
|
||||
count = 0
|
||||
j = 0
|
||||
while j < len(CC):
|
||||
if CC[j] == value:
|
||||
count = count + 1
|
||||
j = j + 1
|
||||
CC2.append(count)
|
||||
i = i + 1
|
||||
|
||||
return CC1, CC2
|
||||
|
||||
|
||||
def func2(filename, CC, n):
|
||||
with open(filename, "w", encoding="utf-8") as f:
|
||||
i = 0
|
||||
in_line = 0
|
||||
while i < len(CC):
|
||||
if in_line > 0:
|
||||
f.write(" ")
|
||||
f.write(str(CC[i]))
|
||||
in_line = in_line + 1
|
||||
|
||||
if in_line == n:
|
||||
f.write("\n")
|
||||
in_line = 0
|
||||
|
||||
i = i + 1
|
||||
|
||||
if in_line != 0:
|
||||
f.write("\n")
|
||||
@ -0,0 +1,31 @@
|
||||
# M2.py
|
||||
import os
|
||||
import M1
|
||||
|
||||
def to_value(text):
|
||||
s = text.strip()
|
||||
if s.isdigit():
|
||||
return int(s)
|
||||
return s
|
||||
|
||||
def run():
|
||||
filename = input("Введите имя файла: ")
|
||||
|
||||
while not os.path.exists(filename):
|
||||
print("Файл не найден. Повторите ввод.")
|
||||
filename = input("Введите имя файла: ")
|
||||
|
||||
MM = []
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
parts = line.split()
|
||||
i = 0
|
||||
while i < len(parts):
|
||||
MM.append(to_value(parts[i]))
|
||||
i = i + 1
|
||||
|
||||
CC1, CC2 = M1.func1(MM)
|
||||
print(CC1)
|
||||
print(CC2)
|
||||
M1.func2("RES2.txt", CC1, 3)
|
||||
return CC2
|
||||
@ -0,0 +1,25 @@
|
||||
Иванов
|
||||
Петров
|
||||
Сидоров
|
||||
Иванов
|
||||
Смирнов
|
||||
Кузнецов
|
||||
Петров
|
||||
Иванов
|
||||
Орлов
|
||||
Орлов
|
||||
Сидоров
|
||||
Сидоров
|
||||
Петров
|
||||
Смирнов
|
||||
Иванов
|
||||
Кузнецов
|
||||
Кузнецов
|
||||
Петров
|
||||
Орлов
|
||||
Смирнов
|
||||
Иванов
|
||||
Петров
|
||||
Сидоров
|
||||
Иванов
|
||||
Смирнов
|
||||
@ -0,0 +1,50 @@
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
23
|
||||
27
|
||||
22
|
||||
24
|
||||
26
|
||||
20
|
||||
21
|
||||
25
|
||||
@ -0,0 +1,2 @@
|
||||
Иванов Петров Сидоров
|
||||
Смирнов Кузнецов Орлов
|
||||
Двоичный файл не отображается.
Загрузка…
Ссылка в новой задаче