0
votes

Utilisation des méthodes intégrées de Python pour la mise en forme de chaîne

J'essaie d'imprimer une valeur de dictionnaire xxx

mais cela me donne simplement une erreur xxx


0 commentaires

4 Réponses :


2
votes

Si vous utilisez une version récente de Python (3.6 ou plus récente), remplacez cette ligne avec:

sales_statement = f"{sales_record['person']} got {sales_record['num_items']} item(s) at a cost of {sales_record['price']} each for a total of {sales_record['price']*sales_record['num_items']}"


0 commentaires

1
votes

Vous devez formater votre chaîne. Cela fonctionnera pour les versions nouvelles et plus anciennes de Python:

sales_statement = "{} got {} item(s) at a cost of {} each for a total of {}".format(sales_record['person'], sales_record['num_items'], sales_record['price'], sales_record['price'] * sales_record['num_items'])


0 commentaires

0
votes

Il est essentiellement à cause des citations.

sales_statement = str(sales_record['person']) + " got " + str(sales_record['num_items']) + " item(s) at a cost of " + str(sales_record['price']) + " each for a total of " +  str(sales_record['price']*sales_record['num_items'])


0 commentaires

0
votes

Vous pouvez utiliser des guillemets doubles pour la chaîne complète et les guillemets simples pour les clés du dictionnaire afin qu'il n'y ait aucune confusion entre eux. En python 3.6 ou plus tard. Vous pouvez utiliser des chaînes F et enfermer les variables dans des accolades bouclées, en précisant la chaîne avec la lettre f. Auparavant, vous auriez utilisé la méthode de la chaîne de format.

sales_record = {
    'price': 3.24,
    'num_items': 4,
    'person': 'xyz'
}

sales_statement = f"{sales_record['person']} got {sales_record['num_items']} item(s) " \
                + f"at a cost of {sales_record['price']} each for a total of " \
                + f"{sales_record['price'] * sales_record['num_items']}"

print(sales_statement)


0 commentaires