2016-09-23 1 views
1

Je rencontre des problèmes avec l'affichage d'images pour Rock - Paper - Scissors. Je suis très nouveau sur python (3 semaines) et j'essaye d'imprimer une image en ligne multiple.
Veuillez excuser mon art terrible!Python - L'image imprimée sur plusieurs lignes n'affiche pas correctement les numéros

import random 

def Display_Rock(): 
    print ("""\n 
    _---___ 
/.#.... \ 
/.$../\.. \ 
|_________/ 
""") 

def Display_Paper(): 
    print ("""\n 
__________ 
|~~~~~~~~~~| 
|~~~~~~~~~~| 
|~~~~~~~~~~| 
|~~~~~~~~~~| 
|~~~~~~~~~~| 
|~~~~~~~~~~| 
|__________| 
""") 

def Display_Scissors(): 
    print ("""\n 

    _----_ 
//--\ \  
    | \__/ \_________________ 
    \____      \ 
    /  ------------------\ 
//--\ _________________/ 
    | \__//
    \-____-/   
""") 
Display_Rock() 
Display_Scissors() 
Display_Paper() 

Cette affiche les éléments suivants -

_---___ 
/.#..../.$../\.. |_________/ 




     ----_ 
    //--\ \  
     | \__/ \_________________ 
     \____      /  ------------------//--\ 
     _________________/    
     | \__//
     \-____-/   



     __________ 
     |~~~~~~~~~~| 
     |~~~~~~~~~~| 
     |~~~~~~~~~~| 
     |~~~~~~~~~~| 
     |~~~~~~~~~~| 
     |~~~~~~~~~~| 
     |__________| 

Merci pour la lecture et des commentaires à l'avance!

Répondre

0

Utilisez r avant de vos cordes comme si:

def Display_Rock(): 
    print (r""" 
    _---___ 
/.#.... \ 
/.$../\.. \ 
|_________/ 
""") 

>>> Display_Rock() 

    _---___ 
/.#.... \ 
/.$../\.. \ 
|_________/ 

Python traite votre \ comme caractères d'échappement.

0

Alors que les autres sont corrects, vous pouvez aussi échapper à la \ afin qu'il ne soit pas traité spécialement en ajoutant un autre \:

print ("""\n 

    _----_ 
//--\ \\  
    | \__/ \_________________ 
    \____      \\ 
    /  ------------------\\ 
//--\ _________________/ 
    | \__//
    \-____-/   
""") 

Dans les futures versions de Python le \ ne peut pas être utilisé déprotégés donc à partir de 3.6 un avertissement sera émis pour \_, \- et \, donc à partir de là, vous devez toujours utiliser \\ pour signifier \; Alternativement, vous pouvez utiliser les chaînes brutes r''; Cependant, vous ne pouvez pas utiliser \n pour le retour à la ligne.