Quiero recibir información de cuántas entradas, el usuario va a dar a continuación y recoger esas entradas en una sola línea. Por ejemplo. Si el usuario ingresa a '3' siguiente, tiene que dar 3 entradas como '4' '5' '6' en la misma línea.

N = int(input())
result = 0
randomlist = []

for number in range(N):
    K = int(input())

    for number2 in range(K):
         a = int(input())
    
         if number2 != K - 1:#Ignore these on below
              result += a - 1

         else:
              result += a
              randomlist.append(result)
              result = 0
              break

for num in range(N):
b = randomlist[num]
print(b)

Ahora quiero que la entrada para K y A (también las entradas en bucle de A) estén en la misma línea. He adjuntado todo el código para el programa aquí. Por favor, dame una solución sobre cómo obtener información en la misma línea con un espacio entre en lugar de ingresar y dar entradas

0
Dharshan 29 may. 2021 a las 11:50

1 respuesta

La mejor respuesta

Sobre la base de lo que leí de su pregunta, está intentando solicitar información del usuario y el formato deseado de la entrada es una serie de números (tanto enteros como flotadores) separados por espacios. Veo un par de maneras de lograr esto:

  • Use una sola declaración de entrada para solicitar la serie de números, incluido el conteo,
  • Solo pregúntele al usuario una lista de números separados por espacios e inferir el conteo.

Para realizar estas operaciones, puede hacer una de las siguientes acciones:

#Request User to provide a count followed by the numbers
def getInputwithCount():
    # Return a list Numbers entered by User
    while True:
        resp = input("Enter a count followed by a series of numbers: ").split(' ')
        if len(resp) != int(resp[0]) + 1:
            print("Your Input is incorrect, try again")
        else:
            break
    rslt = []
    for v in resp[1:]:
        try:
            rslt.append(int(v))
        except:
            rslt.append(float(v))
    return rslt  

O para la solución más sencilla, solo solicite los números de la siguiente manera:

def getInput():
    # Return the list of numbers entered by the user
    resp = input("Enter a series of numbers: ").split(' ')
    rslt = []
    for v in resp:
        try:
            rslt.append(int(v))
        except:
            rslt.append(float(v))
    return rslt  
0
itprorh66 29 may. 2021 a las 15:22