0
votes

Pourquoi une erreur de syntaxe, le code ne s'imprime pas dans l'ordre

J'ai écrit deux séquences différentes, comment les faire imprimer dans l'ordre? Dois-je utiliser une boucle? Si oui, comment puis-je faire cela?

name = input("Who Goes There?")
print("Ah" , name , "-I'll Call You Ted Instead") 

water = input("Ted, Dont You Miss The Water?")
seagulls = input("What About The Seagulls?")
print(water, seagulls)


3 commentaires

De quoi avez-vous besoin exactement ?


Votre question n'est pas claire


Je veux juste que le script pose les questions dans cet ordre, mais j'obtiens une erreur de syntaxe pour l'eau, mais si je les fais séparément, elles fonctionnent.


3 Réponses :


1
votes

Il est difficile de comprendre ce que vous demandez, d'autant plus qu'il n'y a pas d'erreur de syntaxe dans ce code. Je suppose que vous l'exécutez avec l'interpréteur Python, oui (1) ?

Dans tous les cas, vous n'avez besoin d'une boucle que si vous voulez faire choses plus d'une fois. Si tout ce que vous voulez faire est d'exécuter certaines instructions dans l'ordre, vous les écrivez dans l'ordre souhaité, exactement comme vous l'avez fait, comme le montre la transcription suivante:

#!/usr/bin/env python3

name = input("Who Goes There?")
print("Ah" , name , "-I'll Call You Ted Instead") 

water = input("Ted, Dont You Miss The Water?")
seagulls = input("What About The Seagulls?")
print(water, seagulls)

Si le l'ordre de ces actions est différent de ce dont vous avez besoin, réorganisez simplement les instructions dans l'ordre dont vous avez besoin.


(1) Le la raison pour laquelle je vous demande est que vous faites une erreur de syntaxe si, par exemple, vous essayez de l'exécuter avec un shell:

pax:~> bash testprog.py
testprog.py: line 1: syntax error near unexpected token `('
testprog.py: line 1: `name = input("Who Goes There?")'

Mais, si c'est le cas, vous utilisez simplement le mauvais outil pour l'exécuter (éventuellement implicitement s'il est exécutable et que vous l'exécutez simplement avec ./testprog.py . Vous pouvez bénéficier de l'utilisation d'une ligne shebang pour spécifier un interpréteur différent dans ce cas, quelque chose comme (la ligne réelle peut être différente sur votre système mais le concept est le même):

pax:~> python3 testprog.py
Who Goes There?pax
Ah pax -I'll Call You Ted Instead
Ted, Dont You Miss The Water?yes
What About The Seagulls?no
yes no


1 commentaires

Merci pour l'aide! Im utilisant idle et puis l'exécutant en python. Mais j'obtiens toujours une erreur de syntaxe et le «w» dans l'eau est mis en évidence.



0
votes

Si vous écrivez un script - puis exécutez l'intégralité du script - la commande doit s'exécuter de haut en bas.

name = input("Who Goes There?")
print("Ah" , name , "-I'll Call You Ted Instead") 
water = input("Ted, Dont You Miss The Water?")
seagulls = input("What About The Seagulls?")
print(water, seagulls)


3 commentaires

Merci pour l'aide! J'ai mis mon script comme vous l'avez mentionné mais j'obtiens toujours une erreur de syntaxe pour l'eau.


Vérifiez que votre indentation est correcte et que vous n'avez manqué aucune parenthèse


Merci!! C'était l'indentation. paume du visage



0
votes

vous pouvez le faire.

name = input("Who Goes There?") 
print("Ah {} I'll call you Ted Instead").format(name)

water = input("Ted, Dont You Miss The Water?")
seagulls = input("What About The Seagulls?")
print(water, seagulls)

ou si vous le souhaitez, vous pouvez le faire aussi

name = input("Who Goes There?") 
print(f"Ah {name} I'll call you Ted Instead")

water = input("Ted, Dont You Miss The Water?")
seagulls = input("What About The Seagulls?")
print(water, seagulls)


0 commentaires