TypeError demasiados argumentos

Cuando se ejecuta este código, aparece un error que indica que hay demasiados argumentos en la línea 8. No estoy seguro de cómo solucionarlo.

#Defining a function to raise the first to the power of the second. def power_value(x,y): return x**y ##Testing 'power_value' function #Getting the users inputs x = int(input("What is the first number?\n")) y = int(input("What power would you like to raise",x,"to?\n")) #Printing the result print (x,"to the power of",y,"is:",power_value(x,y)) 

Resultando en un TypeError …

  Traceback (most recent call last): File "C:\[bla location]", line 8, in  y = int(input("What power would you like to raise",x,"to?\n")) TypeError: input expected at most 1 arguments, got 3 

El problema es que la función de entrada de python () solo estaba lista para aceptar un parámetro: la cadena de solicitud, pero pasaste tres. Para resolver este problema, solo necesitas combinar las tres piezas en una.

Puedes usar el operador % para formatear la cadena:

 y = int(input("What power would you like to raise %d to?\n" %x,)) 

O usa la nueva forma:

 y = int(input("What power would you like to raise {0} to?\n".format(x))) 

Puedes encontrar el documento aquí .

Cambia tu línea de entrada y a

 y = int(input("What power would you like to raise" + str(x) + "to?\n")) 

Así que concatenarás las tres subcadenas en una sola cadena.

necesitas especificar x variable:

usando formato

 y = int(input("What power would you like to raise {}to?\n".format(x))) 

o

 y = int(input("What power would you like to raise %d to?\n"%x))) 

input acepta un argumento que se imprime en la pantalla. Puede leer sobre input() aquí. En su caso, le está proporcionando 3 argumentos ->

  1. La Cuerda "What power would you like to raise"
  2. El entero x
  3. La cadena "to?\n"

Puedes combinar estas tres cosas juntas de esta manera y formar un argumento

 y = int(input("What power would you like to raise"+str(x)+"to?\n"))