Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

семестр 1 / lab13

.py
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
5 Кб
Скачать
import os
clear = lambda: os.system('cls')
clear()
import numpy as np
import random
import math
random.seed(507)

def arrout(array1, array2):
	s = ""
	ss =""
	sss = ""
	ssss = ""
	arraynp1 = np.array(array1)
	arraynp2 = np.array(array2)
	l = arraynp1.size
	columnindex = 5
	rowindex = math.ceil(l / columnindex)
	arraynp1.shape = (rowindex, columnindex)
	arraynp2.shape = (rowindex, columnindex)
	
	for i in range(0, (5*10)-2):
		s += chr(0x2550)
	for i in range(0, (5*9)+3):
		ss += chr(0x2500)
	for i in range(0,18):
		sss += " "
	for i in range(0,19):
		ssss += " "

	print(chr(0x2554)+s+chr(0x2566)+s+chr(0x2550)+chr(0x2550)+chr(0x2550)+chr(0x2557))
	print(chr(0x2551)+sss+"Data per day"+sss+chr(0x2551)+ssss+"Data per week"+ssss+chr(0x2551))
	print(chr(0x2560)+s+chr(0x256C)+s+chr(0x2550)+chr(0x2550)+chr(0x2550)+chr(0x2563))
	for i in range(0, rowindex):
		int(i)
		if i < 9:
			print(chr(0x2551), "00"+str(int(arraynp1[i][0])), "worker", "  "+str(int(arraynp1[i][1])), "tree(s)", \
			"  "+str(int(arraynp1[i][2])), "gr", "  "+str(int(arraynp1[i][3])), "l", \
			"  "+str(int(arraynp1[i][4])), "days", chr(0x2551), end='')

			print(" "+"00"+str(int(arraynp2[i][0])), "worker", "  "+'{:02}'.format(int(arraynp2[i][1])), "tree(s)", \
			"  "+'{:04}'.format(int(arraynp2[i][2])), "gr", "  "+'{:02}'.format(int(arraynp2[i][3])), "l", \
			"  "+str(int(arraynp2[i][4])), "days", chr(0x2551))

			print(chr(0x255F)+ss+chr(0x256B)+ss+chr(0x2500)+chr(0x2500)+chr(0x2500)+chr(0x2562))
		elif i >= 10 and i < 99:
			print(chr(0x2551), "0"+str(int(arraynp1[i][0])), "worker", "  "+str(int(arraynp1[i][1])), "tree(s)", \
			"  "+str(int(arraynp1[i][2])), "gr", "  "+str(int(arraynp1[i][3])), "l", \
			"  "+str(int(arraynp1[i][4])), "days", chr(0x2551), end='')

			print(" "+"0"+str(int(arraynp2[i][0])), "worker", "  "+'{:02}'.format(int(arraynp2[i][1])), "tree(s)", \
			"  "+'{:04}'.format(int(arraynp2[i][2])), "gr", "  "+'{:02}'.format(int(arraynp2[i][3])), "l", \
			"  "+str(int(arraynp2[i][4])), "days", chr(0x2551))

			print(chr(0x255F)+ss+chr(0x256B)+ss+chr(0x2500)+chr(0x2500)+chr(0x2500)+chr(0x2562))
		elif i >= 99 and i < 999 and i != rowindex-1:
			print(chr(0x2551), str(int(arraynp1[i][0])), "worker", "  "+str(int(arraynp1[i][1])), "tree(s)", \
			"  "+str(int(arraynp1[i][2])), "gr", "  "+str(int(arraynp1[i][3])), "l", \
			"  "+str(int(arraynp1[i][4])), "days", chr(0x2551), end='')

			print(" "+str(int(arraynp2[i][0])), "worker", "  "+'{:02}'.format(int(arraynp2[i][1])), "tree(s)", \
			"  "+'{:04}'.format(int(arraynp2[i][2])), "gr", "  "+'{:02}'.format(int(arraynp2[i][3])), "l", \
			"  "+str(int(arraynp2[i][4])), "days", chr(0x2551))

			print(chr(0x255F)+ss+chr(0x256B)+ss+chr(0x2500)+chr(0x2500)+chr(0x2500)+chr(0x2562))
		elif i >= 99 and i < 999 and i == rowindex-1:
			print(chr(0x2551), str(int(arraynp1[i][0])), "worker", "  "+str(int(arraynp1[i][1])), "tree(s)", \
			"  "+str(int(arraynp1[i][2])), "gr", "  "+str(int(arraynp1[i][3])), "l", \
			"  "+str(int(arraynp1[i][4])), "days", chr(0x2551), end='')

			print(" "+str(int(arraynp2[i][0])), "worker", "  "+'{:02}'.format(int(arraynp2[i][1])), "tree(s)", \
			"  "+'{:04}'.format(int(arraynp2[i][2])), "gr", "  "+'{:02}'.format(int(arraynp2[i][3])), "l", \
			"  "+str(int(arraynp2[i][4])), "days", chr(0x2551))

	print(chr(0x2560)+s+chr(0x2569)+s+chr(0x2550)+chr(0x2550)+chr(0x2550)+chr(0x2563), chr(10), end='')

matrixPD = np.zeros(500)
matrixPD.shape = (100,5)
matrixPW = np.zeros(500)
matrixPW.shape = (100,5)
wood = 0
food = 0
water = 0
s = ""

#0. Number in order
for i in range(0,100):
	int(i)
	matrixPD[i][0] = i+1

#1. Amount of wood per day
for i in range(0,100):
	int(i)
	matrixPD[i][1] = random.randint(1,3)

#2. Amount of food per day
for i in range(0,100):
	int(i)
	matrixPD[i][2] = random.randint(500,1000)

#3. Amount of water per day
for i in range(0,100):
	int(i)
	matrixPD[i][3] = random.randint(2,3)

#4. Amount of working days
for i in range(0,100):
	int(i)
	matrixPD[i][4] = random.randint(4,6)

#0. Number in order
for i in range(0,100):
	int(i)
	matrixPW[i][0] = i+1

#1. Amount of wood per week
for i in range(0,100):
	int(i)
	matrixPW[i][1] = matrixPD[i][1]*matrixPD[i][4]

#2. Amount of food per week
for i in range(0,100):
	int(i)
	matrixPW[i][2] = matrixPD[i][2]*matrixPD[i][4]

#3. Amount of water per week
for i in range(0,100):
	int(i)
	matrixPW[i][3] = matrixPD[i][3]*matrixPD[i][4]

#4. Amount of working days
for i in range(0,100):
	int(i)
	matrixPW[i][4] = matrixPD[i][4] 

#Amount of wood per week (100 workers)
for i in range(0,100):
	int(i)
	wood += matrixPD[i][1]

#Amount of food per week (100 workers)
for i in range(0,100):
	int(i)
	food += matrixPD[i][2] 

#Amount of water per week (100 workers)
for i in range(0,100):
	int(i)
	water += matrixPD[i][3] 

for i in range(0, (5*20)):
	s += chr(0x2550)

arrout(matrixPD, matrixPW)
print(chr(0x2551), "Total amount per 100 lumberjacks per week:", str(int(wood)), "trees;", str(int(food)), "grams of food;", str(int(water)), "liters of water"+"    ", chr(0x2551))
print(chr(0x255A)+s+chr(0x255D), chr(10))
Соседние файлы в папке семестр 1