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] Débutant caractère

TheNerd
TheNerd
Niveau 1
26 novembre 2016 à 17:55:17

Bonjour,
Je voudrais créer une fonction rectangle qui prend en compte un caractère, une hauteur et une longueur, et qui affiche un rectangle plein de dimensions "longueur" et "hauteur" avec les caractères entrés.

Je sais le faire avec "for i in range(0,hauteur) etc..."
mais je voudrais le tester avec "\n" et je ne sais pas comment l'intégrer au code.
Avez-vous un code simple à me proposer, qui affiche en sortie " *** \n ***" (avec \n qui va faire sauter une ligne)
merci.

romtrep
romtrep
Niveau 8
26 novembre 2016 à 18:31:40
#!python

def Rectangle(char, width, height):
    for i in range(height):
        for j in range(width):
            print(char),
        print('')

Rectangle('*', 10, 10)

La fonction print en python imprime un retour à la ligne par défault. Pour imprimer plusieurs éléments sur une seule ligne, tu utilises la notation spéciale "print()," pour dire à print de ne pas faire un retour à la ligne. ( la notation consiste à mettre une virgule après print() )

TheNerd
TheNerd
Niveau 1
26 novembre 2016 à 18:39:00

Sur Spyder, il n'y a pas de ligne, ça me donne ça (j'ai utilisé X en caractère)
X
X
X
X
X

X
X
X
X
X

Grimmys
Grimmys
Niveau 19
26 novembre 2016 à 23:32:24

Le 26 novembre 2016 à 18:31:40 RomTrep a écrit :
#!python def Rectangle(char, width, height): for i in range(height): for j in range(width): print(char), print('') Rectangle('*', 10, 10)

La fonction print en python imprime un retour à la ligne par défault. Pour imprimer plusieurs éléments sur une seule ligne, tu utilises la notation spéciale "print()," pour dire à print de ne pas faire un retour à la ligne. ( la notation consiste à mettre une virgule après print() )

Tiens, je ne connaissais pas la notation spéciale " print(), ", mais est-elle vraiment conseillée ?

Ça me semble plus logique, et montre que l'on a bien compris le fonctionnement de la fonction, d'écrire " print(end="") ", non ?

Grimmys
Grimmys
Niveau 19
26 novembre 2016 à 23:38:48

Oui non c'est bien ce que je me disais, je suis un peu con moi ( la fatigue aussi je pense :rire2: ).

Mettre une virgule après une instruction, permet simplement d'en écrire une autre sur la même ligne, au niveau de la lecture du code par l'interpréteur, ça ne change rien.

Pour annuler le saut de ligne automatique de la fonction print, il faut simplement, comme je l'ai dit, changer la valeur de l'argument d'entrée " end ", qui, par défaut, vaut " \n ".

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