2011-04-25 6 views
0

Si je tape ce qui suit dans IDLE, il me donne le résultat de « wordwordword »:simple question de concaténation Python

print("word" * 3) 

Si je passe par les étapes suivantes dans IDLE, il me donne le même résultat:

sentence = input() #I type "word" 
number = int(input()) #I type it to int because input() saves as a string, I type "3" 
print(sentence * number) 

Mais alors, si je tente d'utiliser exactement les mêmes trois lignes ci-dessus dans un document Bloc-notes pour créer comme un script, je ne reçois que le résultat de « mot » au lieu de « wordwordword »

Tous pensées?

+1

Sans la sortie * effective * et le numéro de version Python, nous aurons du mal à deviner. –

+0

Impossible de reproduire. Il imprime "wordwordword" dans mon PC lorsqu'il est exécuté en tant que script. Peut-être avez-vous oublié quelque chose dans votre script sauvegardé? (J'utilise Python 2.7, puisque vous utilisez la fonction print et 'input', je suppose que vous utilisez Python 3.x) – Imran

+0

Fonctionne aussi pour moi. Les informations de version seraient utiles. – Blender

Répondre

1

Votre code fonctionne bien en python .

Avec python , il suffit de remplacer l'entrée par raw_input() comme ça:

sentence = raw_input() 
number = int(raw_input()) 
print(sentence * number) 

Vous pouvez lire le PEP 3111 de comprendre la différence et la motivation entre l'entrée et raw_input dans python2 et python3.

+0

J'utilise python 3, je ne sais pas pourquoi ça ne marche pas ... – startuprob

+0

@Rob: Avez-vous accepté cette réponse même si votre code ne fonctionne pas? –

+0

Il n'y a pas de problème avec mon code, ça fonctionne bien avec python2 ;-) Le code de @Rob fonctionne bien dans python3. –

0

Je vais essayer raw_input():

sentence = raw_input() 
number = int(raw_input()) 
print(sentence * number) 

Le documentation says que:

input([prompt])

équivalent à eval(raw_input(prompt)).

eval() exécute le code Python, ce qui n'est pas ce que vous voulez.

+0

Ceci déclenche une erreur de syntaxe. J'utilise la dernière version de Python, cela pourrait-il être un problème? Même quand je viens d'utiliser un simple 'raw_input(), j'obtiens une erreur. – startuprob

+0

Ohhhh, tant pis. Python3 a été renommé 'raw_input()' en 'input()', ce qui a du sens. Continuez;) – Blender