CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] Afficher plusieurs trucs sans espaces

[hard]ware
[hard]ware
Niveau 14
16 décembre 2014 à 15:52:39

Salut :ok:

Bon alors je prends un petit exemple :
On a une fonction toute basique : f(x)=2x
donc je veux que l'utilisateur rentre une valeur "a" et que le programme affiche le résultat.
Mais si je fais ça :

print("f(",a,") = ",2*a)

ça m'affiche ça :

f( a ) = 2*a

(évidemment avec le "a" que l'utilisateur a rentré)

Or, je voudrais afficher ça :

f(a) = 2*a

Donc sans espaces dans les parenthèses.

évidemment il y a cette solution là :

a=float(input())
print("f(",end="")
print(a,end="")
print(") = ",2*a)

Sauf que ça prend 3 lignes...
C'est pas possible de le faire en une seule ligne ?
Si je met quelque chose après le end="" ça me fait une erreur bien sûr.

:merci:

genzai_kawakami
genzai_kawakami
Niveau 5
16 décembre 2014 à 17:22:29

La virgule sert à créer une liste. Pour concaténer simplement des strings, il faut utiliser +
Par contre ça demande de convertir les int en string, avec str(), ce qui donne
print "f(" + str(a) + ") = " + str(2*a)

Message édité le 16 décembre 2014 à 17:23:02 par genzai_kawakami
[hard]ware
[hard]ware
Niveau 14
16 décembre 2014 à 17:40:14

Super ! :bave:

Je ne savais pas du tout qu'on pouvait mettre un "+" à la place d'une virgule !
ça peut s'utiliser dans d'autres cas que dans un print ?

:merci:

debianthrax
debianthrax
Niveau 6
16 décembre 2014 à 20:21:02

ça peut s'utiliser dans d'autres cas que dans un print ?

Chaque fois que tu veux concaténer :(

a="hell"
b = "o"
c = a+b
c

'hello'

d = 33
e = a + str(d) + c
e

'hell33hello'

Pseudo supprimé
Pseudo supprimé 16 décembre 2014 à 21:05:18

print(..., sep="")

[Kyomaro]
[Kyomaro]
Niveau 10
17 décembre 2014 à 10:48:14

Tu peux aussi utiliser la fonction format(), y'a plein de méthodes pour afficher une variable :)
Du genre :
print("f({0}) = 2*{0}".format(a))
Bien sûr ici ce serait affiché 2*a et non le résultat de 2*a, tu peux donc créer une variable résultat, et ensuite l'afficher ainsi :
resultat = 2*a #Après avoir demandé a bien sûr print("f({0}) = 2*{1}".format(a, resultat))
:ok:

[hard]ware
[hard]ware
Niveau 14
17 décembre 2014 à 16:59:04

Merci, je connaissait pas tout ça ! :)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment