0
votes

Rencontré un problème de création d'une fonction pour mon petit projet

Actuellement, je fais un projet et je veux y ajouter une fonction. Mais je n'ai aucune idée du problème que j'ai rencontré récemment. Donc, voici le mauvais code de la fonction que j'ai écrit:

user_input = input()

while True:
    if user_input == "add_1":
        print("Start adding your #1 note...")
        content_1 = input("Please enter content: ")
    elif content_1 != '':
            print("You have added the #1 note. Please use other functions.")
            user_input = input()

    if user_input == "add_2":
        print("Start adding your #2 note...")
        content_2 = input("Please enter content: ")
    elif content_2 != '':
            print("You have added the #2 note. Please use other functions.")
            user_input = input()

    if user_input == "add_3":
        print("Start adding your #3 note...")
        content_3 = input("Please enter content: ")
    elif content_3 != '':
            print("You have added the #3 note. Please use other functions.")
            user_input = input()


2 commentaires

Votre code n'a pas de sens. Vous ne pouvez pas accéder à la variable attribuée dans le bloc si dans son énoncé elif , car cette condition n'est pas exécutée lorsque le si condition est vrai.


Vous devriez avoir des boucles séparées validant chaque entrée.


3 Réponses :


0
votes

Le code est désordonné et difficile à lire, je suggérerais d'esquisser un Diagramme de Comment la logique doit fonctionner avant même l'ouverture de l'ordinateur et écrire votre première ligne de code.

Le problème réside dans les déclarations imbriquées si / ELIF. Pour chaque option ( "add_1" , "add_2" , "add_3" ) Il devrait y avoir un tandis que boucle qui devrait fonctionner aussi longtemps que le content_1 n'est pas vide. Une fois la boucle interne terminée, la boucle extérieure redémarre.

Le code devrait ressembler à ceci. D'autres options doivent fonctionner de la même manière. xxx

lecture supplémentaire:

  • Dans certains cas, l'opérateur Walrus nouvellement ajouté (: =) peut être utile lors de la vérification de l'entrée utilisateur.
    Pour plus d'informations, visitez Ce Tutoriel

0 commentaires

-1
votes

content_1 n'est pas défini qu'à ici si vous voulez dire user_input modifier le contenu_1 à> user_input:

elif content_1! = '':

Imprimer ("Vous avez ajouté la note n ° 1. Veuillez utiliser d'autres fonctions.") user_input = entrée ()

Vous avez des erreurs similaires

SI / ELIF L'énoncé doit avoir d'autre déclaration d'autre:

si (condition):

déclarations elif (condition): Déclarations autre: Déclarations


1 commentaires

Veuillez noter les conventions de formatage Comment formater mes messages à l'aide de Markdown ou HTML .



0
votes

Je ne sais pas exactement ce que vous voulez faire, mais essayons de trouver une solution xxx pré>

mais nous pourrions simplifier cette solution: p>

content = {}

while True:
    user_input = input('What function do you want to use: ')

    if user_input.startswith("add_") and len(user_input) == 5:
        note_number = user_input[4]
        if note_number in ('1', '2', '3'):
            print(f"Start adding your #{note_number} note…")
            content[note_number] = input("Please enter content: ")
            if content[note_number]:
                print(f"You have added the #{note_number} note. Please use other functions.")


0 commentaires