Si j'ai une fonction avec plusieurs fonctions, laissez-vous calculer une zone ou en ajoutant trois nombres.
L'utilisateur a choisi 1 pour calculer la zone et 2 pour ajouter des chiffres via l'entrée userchoise est l'entrée de l'utilisateur p> si l'utilisateur souhaite calculer la zone, il n'y a que deux arguments à La fonction au lieu de trois, si l'utilisateur veut faire une addition. P> Alors, enfin à la question ...
Quel est le moyen le plus approprié de le gérer? P> Lorsque j'appelle la fonction, lorsque l'utilisateur souhaite calculer la zone, dois-je simplement définir la variable numérisée à zéro ou quelque chose ou est-ce plus "juste" manière fais-le? p>
3 Réponses :
Une bonne approche de ce problème sera d'avoir plusieurs fonctions, chacune avec un rôle spécifique. Vous pouvez faire deux fonctions distinctes calcat_area () code> et
add_numbers () code>. Ensuite, vous pouvez simplement vérifier l'entrée et appeler ces fonctions telles que ceci:
userChoice = input("Enter choice: ")
if userChoice == "1":
inputNumberOne = input("Enter number 1: ")
inputNumberTwo = input("Enter number 2: ")
calculate_area(inputNumberOne, inputNumberTwo)
elif userChoice == "2":
inputNumberOne = input("Enter number 1: ")
inputNumberTwo = input("Enter number 2: ")
inputNumberThree = input("Enter number 3: ")
add_numbers(inputNumberOne, inputNumberTwo, inputNumberThree)
Peut-être que c'est un meilleur moyen d'avoir deux fonctions ou plus, merci de votre réponse :)
Si vous voulez vraiment utiliser une seule fonction avec un nombre variable de paramètres, vous pouvez utiliser * arguments comme argument. Par exemple:
Si vous ne manquez pas de multiples opérations qu'il est bon d'avoir des fonctions différentes pour différentes opérations et que de prendre des arguments de l'utilisateur pour ces opérations telles que P> def func(choice):
#choice is the integer which user opted
if choice == 1:
num1 = input("num1")
num2 = input("num2")
num3 = input("num3")
print(num1 + num2 + num3)
elif choice == 2:
.........
C'est peut-être un meilleur moyen d'avoir différentes fonctions pour différentes opérations. Il est peut-être plus facile de lire le code aussi. Merci pour votre réponse :)
Ouais, cela rend votre code plus lisible et propre. Si la réponse a fonctionné pour vous, vous pouvez accepter la réponse.
Ces fonctions distinctes devraient être différentes fonctions: une pour calculer une zone, une pour calculer la somme de trois nombres.
Remarque:
INPUTNumberThree == 0 code> n'est pas une affectation, mais une comparaison, et probablement entraînera une erreur, puisque
InputNumberThree code> n'est pas encore défini à ce stade.