2016-09-28 6 views
1

Ich habe ein Projekt, wo ich ein Dotmatrix-Modul erstellen und dann in ein anderes Programm importieren, das meine Initialen ausdrucken wird. Ich habe es auf den Punkt gemacht, wo es meine Initialen drucken wird, aber es wird die „J“ in derIch versuche, das "J" in initial = dotmatrix.dotJ ("J") zu drucken

initial = dotmatrix.dotJ("J") 

nicht drucken Es wird nur die „*“ drucken. Ich habe in meinem Modul definiert:

def dotJ(char): 
    """Creates a capital J in 7 x 7 dots""" 
    dotJ = "  * \n" 
    dotJ += "  * \n" 
    dotJ += "  * \n" 
    dotJ += "  * \n" 
    dotJ += " * * \n" 
    dotJ += " * * \n" 
    dotJ += " *** \n" 
    return dotJ 

, wo ich die * haben, ich will es auszudrucken, was auch immer in der

initial = dotmatrix.dotJ ("J")

Antwort

0

genannt wird ein einfacher Weg wäre Ihre dotJ Variable mit einem Stern zu definieren und dann replace der Stern mit dem Charakter:

def dotJ(char): 
    """Creates a capital J in 7 x 7 dots""" 
    dotJ = "  * \n" 
    dotJ += "  * \n" 
    dotJ += "  * \n" 
    dotJ += "  * \n" 
    dotJ += " * * \n" 
    dotJ += " * * \n" 
    dotJ += " *** \n" 
    dotJ = dotJ.replace("*",char) 
    return dotJ 

Sie auch eine Format-String verwenden könnte. Aber ich vermute, das wäre weniger leicht zu lesen.

+0

ya ich habe meinen Code übergeben in welchem ​​Charakter ich sage es in meiner Funktion zu tun. Also, wenn ich sage, verwenden Sie "J" statt "*" wird es. Ohne zu gehen und mein def von "*" zu "J" manuell zu ändern –

+0

danke James, das ist genau das, was ich brauchte! –

+0

Jetzt, da ich mein Programm so drucken lasse, wie ich möchte, möchte ich jetzt eine Zeichenfolge eingeben, um die erste Eingabe zu erhalten, dann nehme ich diese Ausgabe und suche nach dem entsprechenden Buchstaben, den ich in einem Modul definiert habe, das ich importiert habe. ist das möglich? - Jamie Schwiderski vor 16 Stunden –