0
votes

Passer moins d'argument pour fonctionner ensuite défini dans Python

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 xxx

userchoise est l'entrée de l'utilisateur

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.

Alors, enfin à la question ... Quel est le moyen le plus approprié de le gérer?

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? xxx


2 commentaires

Ces fonctions distinctes devraient être différentes fonctions: une pour calculer une zone, une pour calculer la somme de trois nombres.


Remarque: INPUTNumberThree == 0 n'est pas une affectation, mais une comparaison, et probablement entraînera une erreur, puisque InputNumberThree n'est pas encore défini à ce stade.


3 Réponses :


0
votes

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)


1 commentaires

Peut-être que c'est un meilleur moyen d'avoir deux fonctions ou plus, merci de votre réponse :)



0
votes

Si vous voulez vraiment utiliser une seule fonction avec un nombre variable de paramètres, vous pouvez utiliser * arguments comme argument. Par exemple: xxx


0 commentaires

0
votes

Si vous ne manquez pas de multiples opérations qu'il est bon d'avoir des fonctions différentes pour différentes opérations xxx pré>

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:
          .........


2 commentaires

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.