Задать вопрос
Vae_11
@Vae_11

Как разобраться в задании лабораторной работы?

Создать одномерный массив размера N>0 заполненный случайными зна-
чениями типа данных M (Пример ввода: 6 int, 3 bool, 4 float). При вводе N<(-2) (Пример
ввода: -3 int, 1 bool, -10 float) вывести нулевую целочисленную матрицу размера |N|x|N|
заполненную на границе случайными значениями типа данных M. В остальных случаях
вывести сообщение об ошибке.

Не понимаю, что от меня требует задание, а именно запутался в примере ввода.
Готовые программы не желательно отправлять. Просто объясните как типами данных должен быть заполнен массив.
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
По-моему все просто. А 1 bool опечатка с вероятностью 99%

Если N положительное число, вам нужно создать одномерный массив размера N, заполненный случайными значениями типа данных M
1. 6 int означает, что нужно создать массив размера 6, заполненный случайными целыми числами.
2. 3 bool означает, что нужно создать массив размера 3, заполненный случайными булевыми значениями (True или False).
3. 4 float означает, что нужно создать массив размера 4, заполненный случайными числами с плавающей точкой.

Если N меньше -2, вам нужно создать квадратную матрицу размера ∣N∣×∣N∣, где ∣N∣ — это абсолютное значение. Матрица должна быть заполнена нулями, за исключением границ, которые должны быть заполнены случайными значениями типа данных M
1. -3 int означает, что нужно создать матрицу размера 3x3, заполненную нулями, с границами, заполненными случайными целыми числами.
2. -10 float означает, что нужно создать матрицу размера 10x10, заполненную нулями, с границами, заполненными случайными числами с плавающей точкой.

Если N находится в диапазоне от -2 до 0 (включительно), вам нужно вывести сообщение об ошибке.
Ответ написан
Vae_11
@Vae_11 Автор вопроса
Спасибо всем вот что я наговнокодил под Найка Борзова
import numpy as np
import random
# n = size matrix

values= input()
n, dtp = values.split()
n = int(n)

if(n>0 and (dtp == "int" or dtp == "bool" or dtp == "float")):
    A = np.array([], dtype = dtp)
    A.resize(n)
    if(dtp == "int"):
        for i in range(n):
            A[i] = random.randint(-100, 100)
    if(dtp == "bool"):
        for i in range(n):
            A[i] = random.randint(0, 1)
    if(dtp == "float"):
        for i in range(n):
            A[i] = random.random()
    print(A, A.dtype)

elif(n < (-2) and (dtp == "int" or dtp == "bool" or dtp == "float")):
    n = abs(n)
    A = np.array([], dtype = dtp)
    A.resize(n, n)
    for i in range(n):
        for j in range(n):
            if (i==0 or i == (n-1) or j==0 or j==(n-1)):
                if(dtp == "int"):
                    A[i, j] = random.randint(-100, 100)
                if(dtp == "bool"):
                    A[i, j] = random.randint(0, 1)
                if(dtp == "float"):
                    A[i, j] = random.random()
    print(A, A.dtype)

else:
    print("Error")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SunTechnik
Что непонятно?
На входе:
6 int
Генерим матрицу 6х6 заполняем её случайным данными тип int

На входе: 3 bool
Генерим матрицу 3х3 заполняем её случайным данными тип bool

На входе: 4 float
Генерим матрицу 4х4 заполняем её случайным данными типа float
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы