Dans ce programme, je dois demander à l'utilisateur What is your name?
, puis répondre en imprimant un message d'accueil personnalisé.Programme Python qui imprime le message d'accueil + nom entré, cas spéciaux - conditions imbriquées
En général, pour une personne nommée NAME
, répondez en imprimant Hello NAME
. Par exemple. Pour une personne nommée Maria
, répondez en imprimant Hello Maria
Il existe cependant une règle spéciale pour Amar et Brandy. Ces deux noms devraient recevoir les salutations uniques (et des visages souriants), de telle sorte que:
- Pour une personne nommée Amar, répondre en disant
Hi Amar :)
- Pour une personne nommée Brandy, répondre en disant
Ahoy Brandy :D
La niveleuse de robot marquera seulement ma solution correcte si mes instructions d'impression correspondent EXACTEMENT ce qui a été spécifié ci-dessus.
Voici ce que j'ai essayé dans un Live Python Editor
Name = ""
# Prompt user for user-defined information
Name = raw_input('What is your Name? ')
if "" = Amar:
print ("Hi Amar :)")
if "" = Brandy:
print ("Ahoy Brandy :D")
else:
print ("Hello + """)
Ce code a renvoyé un message d'erreur en ligne quatre:
SyntaxError: invalid syntax (<string>, line 4)
Comment puis-je améliorer ce code afin qu'il n'y ait pas d'erreurs et la programme fonctionne comme prévu?
EDIT Je fixe les erreurs sur les lignes 4 et 6, maintenant mon code ressemble à ceci:
Name = ""
# Prompt user for user-defined information
Name = raw_input('What is your Name? ')
if Name == 'Amar':
print ("Hi Amar :)")
if Name == 'Brandy':
print ("Ahoy Brandy :D")
else:
print ("Hello + """)
Mais je suis toujours obtenir un message d'erreur:
« NameError: nom 'raw_input' n'est pas défini "
Comment définir 'raw_input'? Ne le définis-je pas en entrant un nom dans une boîte de dialogue? (Aucune boîte de dialogue montre le haut)
EDIT 2 ai appris que raw_input n'est pas compatible avec la version 3 de Python - commutées éditeur Python à la version 2. Le code fonctionne désormais pour les noms "Amar" et "Brandy" mais pas pour tout autre nom - nous avons toujours "Hello +" au lieu de "Hello Steven". Une idée de pourquoi cela se passe? La clé pour que le programme fonctionne exactement comme je le souhaitais était d'utiliser un conditionnel imbriqué - je devais mettre une instruction if dans une instruction if pour m'assurer que les deux conditions étaient remplies. Cela signifie que si le nom saisi n'est pas Amar ou Brandy, imprimez "Hello" + le nom. Si le nom saisi est Amar ou Brandy, imprimez en fonction de leurs conditions uniques.
Même si une erreur de syntaxe était l'une des raisons pour lesquelles mon code ne fonctionnait pas, d'autres raisons incluaient confondre les chaînes pour les variables, comprendre comment les guillemets devraient circuler dans python et comment utiliser les instructions If imbriquées dans python. – HappyHands31