2013-04-09 4 views
-1

J'utilise python sur mon mac et j'utilise python via wrangler et beaucoup de choses vont mal au hasard, donc je pense que je fais quelque chose de mal. J'ai un programme VRAIMENT simple et quand je l'exécute dans bash sur le terminal, il n'apparaîtra pas. Voici le code:le code ne sera pas affiché dans bash (python)

def shoes(): 
    j= "jordans" 
    a= "adidas" 
    n= "nikes" 
    question = input("whats ur fav. shoe?") 
if a: 
    return a 

Je l'accès dans bash comme ceci:

cd ~/Desktop/scripts 

ls 

python shoe.py 

alors rien ne se présente

Répondre

1

ajouter ceci:

if __name__=='__main__': 
    shoes() 

et si vous voulez émission quelque chose, utilisez print 123 ou sys.stdout(123)

+0

toutes les informations sont vraiment utiles, mais je ne vois toujours pas l'information apparaît dans le terminal, il vide juste vide. –

1

ce que vous faites là:

def shoes(): 
    j= "jordans" 
    a= "adidas" 
    n= "nikes" 
    question = input("whats ur fav. shoe?") 
    if a: 
     return a 

est seulement nommage de définition d'inventer une fonction appel soit appelé (après) comme shoes() partout ailleurs dans votre script.

Et quand vous voulez l'appeler, vous devez l'appeler explicitement cette façon quelque part: shoes()

Si vous voulez que votre script python pour définir une fonction, puis l'utiliser, vous devriez avoir écrit:

# comments start of your script 

#there I am defining the function shoes() 
def shoes(): 
    j= "jordans" 
    a= "adidas" 
    n= "nikes" 
    question = input("whats ur fav. shoe?") 
    if a: 
     return a 

#there I'm calling right now the function shoes() 
shoes() # there I do it inside the main script 

vous semblez novice, un autre exemple de fonctions:

def unotherfunction(i): 
    for i in range(0,i+1): 
     shoes() 

#If I call unotherfunction(), then, only then, shoes will be called twice, or fourth, or 7th or depending on the number your set to i like 2, 4 or 7.. 

unotherfunction(5) # will call 5 times your function shoes() (asking you 5 times the same question of course ;-) 

optionnellement, peut-être, vous sh ould ajouter un test comme:

question = input("whats ur fav. shoe?") 
if a = question: 
    return a 

ce qui rendrait l'entrée beaucoup plus significative. Sinon, votre saisie au clavier ne fait tout simplement pas partie de votre test.

Et puis encore une fois l'avertissement, vous avez seulement un chemin qui renvoie une valeur décente a ... Watchout ... vous verrez ... Dans d'autres chemins, il renverra None silencieusement et vous réserve des surprises surprenantes ...

Questions connexes