2016-04-16 7 views
0

Ich möchte einen einfachen Befehl mit ‚def‘ funktioniert perfektBefehlswerte, die zuvor definiert wurden, funktionieren nicht?

 print("Hello World") 
nb=input(("Insérer le nombre à multiplier : ")) 
max=input(("Combien de fois voulez vous multiplier ?: ")) 
print("Bien, maintenant utilisez la commande table") 
def table(nb, max): 
    i = 0 
    while i < max: 
     print(i + 1, "*", nb, "=", (i + 1) * nb) 
     i += 1 # On incrémente i de 1 à chaque tour de boucle. 
    else: 
     print("Calcul Terminé ,-D") 

Also, die Befehlstabelle (8,9) zum Beispiel machen, aber Tabelle funktioniert nicht, aber was ich nicht verstehe, ist, dass die Werte nB und max haben, bevor definiert worden ist, so sollte die Befehlstabelle auch funktionieren, wenn Werte nicht in dem Befehl selbst, sondern zeigen sie mir ein Fehler definiert: diejenigen definiert

 table() 
TypeError: table() missing 2 required positional arguments: 'nb' and 'max' 

diese Argumente sind standardmäßig vom Benutzer auf den ersten Blick, hier handelt es sich um Variablen nb und max hat noch keine Werte, was falsch ist, da wir sie vorher definiert haben schlau, wie kann ich meine Methode funktionieren lassen oder was ist der kürzeste Code, der so funktionieren würde, wie das Programm in meiner Logik vorhat?

Vielen Dank im Voraus für Ihre Hilfe!

Antwort

0

Sie müssen nb und max als globale Variablen definieren, dann sind sie auch in Ihrer Methode sichtbar table().

global nb 
nb = int(input(("Insérer le nombre à multiplier : "))) 
global max 
max = int(input(("Combien de fois voulez vous multiplier ?: "))) 
print("Bien, maintenant utilisez la commande table") 
def table(): 
    i = 0 
    while i < max: 
     print(i + 1, "*", nb, "=", (i + 1) * nb) 
     i += 1 # On incrémente i de 1 à chaque tour de boucle. 
    else: 
     print("Calcul Terminé ,-D") 

table() 

Bitte beachte, dass ich auch eine Typumwandlung zu int in Ihrem Code, wie arithmetische Operationen hinzugefügt werden, nicht auf Strings erlaubt, und input() gibt einen Wert vom Typ String.

Verwandte Themen