Я пишу программу для объединения двух пустых массивов и хочу, чтобы программа печатала сообщение для каждого возможного результата (горизонтального, вертикального или без объединения).У меня есть следующий код, и я не понимаю, почему даже когда первое условие (np.hstack) выполнено, оно продолжает оценивать последующие if и else операторы и неправильно печатает, что тамявляется горизонтальной конкатенацией (первое условие выполнено) и невозможна конкатенация.
import numpy as np
def fun1(a,b):
if a.shape[0] == b.shape[0]:
print("The horizontal concatenation is:", np.hstack((a,b)))
if a.shape[1] == b.shape[1]:
print("The vertical concatenation is:", np.vstack((a,b)))
else:
print("These arrays cannot be concatenated.")
a = np.floor(10*np.random.random((3,2)))
b = np.floor(10*np.random.random((3,4)))
fun1(a,b)
Вывод:
The horizontal concatenation is: [[5. 0. 1. 1. 3. 7.]
[4. 1. 8. 3. 1. 9.]
[9. 1. 5. 7. 0. 0.]]
These arrays cannot be concatenated.