Angesichts der Zahlen (NM), die Sie häufig in Problembüchern sehen, Eine Lösung, wenn das Ausgabeergebnis durch eine Zeichenfolge aus N Zeilen x M Spalten erhalten wird.
Beispiel) Sternenkarte, Multiplikationstabelle von neunundneunzig usw.
& + + + +
+ & + + +
+ + & + +
+ + + & +
+ + + + &
N M
import numpy as np
#(N M)= (5 5)Angenommen, es gibt eine Eingabe in Form von
n, m = input().split()
n, m = int(n), int(m)
#Erstellen Sie ein zweidimensionales Array mit N Zeilen und M Spalten(Diesmal alle 0 Sequenzen)
hyou = np.zeros((n,m))
#Wenn auf dem Sternendiagramm usw. mehrere Zeichenfolgen angezeigt werden sollen, setzen Sie "Zahlen in diesem Teil des Arrays" auf 1.,2,3...Und ersetzen Sie es in verschiedenen Fällen
#Diesmal ist es eine einfache, die nur 1 setzt, wenn die Zahlen in Zeile und Spalte gleich sind
for i in range(n):
for j in range(m):
if i == j:
hyou[i][j] = 1
#Numerischer Wert, der das Element am Ende der Zeile angibt(Index des letzten Elements einer zweidimensionalen Array-Spalte)
x = m -1
for i in range(n):
#Ob die Ausgangsleitung endet oder nicht, wird dadurch bestimmt, ob j == x ist
#Ende wenn nicht das Ende=" "Geben Sie Leerzeichen mit aus und beginnen Sie am Ende eine neue Zeile mit der Druckfunktion, wie sie ist
#Ändern Sie das Ausgabezeichen für jede Zahl
for j in range(m):
if hyou[i][j] == 0 and j != x:
print("+", end = " ")
elif hyou[i][j] == 1 and j != x:
print("&", end = " ")
if hyou[i][j] == 0 and j == x:
print("+")
elif hyou[i][j] == 1 and j == x:
print("&" )
Es ist einfach, aber ich denke, es ist leicht zu vergessen, also werde ich es aufschreiben.
Recommended Posts