2011-07-13 28 views
16

El siguiente programa usa {0} en una cadena, y no estoy seguro de cómo funciona, apareció en un tutorial en línea sobre la iteración para Python, y parece que no puedo encontrarlo explicando en ninguna parte.¿Qué significa {0} en esta cadena de Python?

import random 

number = random.randint(1, 1000) 
guesses = 0 

print("I'm thinking of a number between 1 and 1000.") 

while True: 
    guess = int(input("\nWhat do you think it is? ")) 
    guesses += 1 

    if guess > number: 
     print("{0} is too high.".format(guess)) 
    elif guess < number: 
     print("{0} is too low.".format(guess)) 
    else: 
     break 

print("\nCongratulations, you got it in {0} guesses!\n".format(guesses)) 

¡Gracias!

Respuesta

26

Es un indicador del método de formateo que desea que sea reemplazado por el primer parámetro de formato (cero de índice). (Por ejemplo "2 + 2 = {0}".format(4))

+0

Genial, gracias! Eso tiene sentido. – Elizabeth

12

http://docs.python.org/release/3.1.3/library/stdtypes.html#str.format

realizar una operación de formato de cadenas. El argumento format_string puede contener texto literal o campos de reemplazo delimitados por llaves {}. Cada campo de reemplazo contiene el índice numérico de un argumento posicional o el nombre de un argumento de palabra clave. Devuelve una copia de format_string donde cada campo de reemplazo se reemplaza con el valor de cadena del argumento correspondiente.

+0

+1 para vincular a la explicación que parece que op no puede encontrar. – SingleNegationElimination

+0

+1 para vincular a los documentos que la respuesta en la parte superior (¡con tres veces el número de votos!) No se molestó en señalar. –

+0

Gracias por el enlace, hace que el concepto sea muy claro. – Elizabeth

4

Ese es el nuevo estilo de formateo de python. Lea en él here.

5

Es un marcador de posición que se reemplazará con el primer argumento en format en el resultado. {1} sería el segundo argumento y así sucesivamente.

Consulte Format String Syntax para obtener más información.

7

Es una gran ayuda para la colocación misma arg varias veces

print("When you multiply {0} and {1} or {0} and {2}, the result is {0}".format(0,1,2)) 

¿No es este bonito !!!

+1

Es bueno, excepto que cuando agrega 0 a 1, el resultado es 1, no 0;) –