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

семестр 1 / lab13

.py
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
5.24 Кб
Скачать
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