想要在 Python3 中不同位置的变量的同一行上输入。请参阅下面的代码和文本以进行说明

Want to get input on same line for variables at different places in Python3. See the below code and text for clarification

我想输入用户接下来要提供多少个输入并将这些输入收集在一行中。例如。如果用户接下来输入“3”,他必须在同一行输入 3 个输入,例如“4”“5”“6”。

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)

现在我希望 K 和 a 的输入(也是 a 的循环输入)位于同一行。我在这里附上了程序的全部代码。请给我一个解决方案,说明如何在同一行中输入 space 而不是按回车键并输入

根据我从你的问题中读到的内容,你正在尝试请求用户输入,并且所需的输入格式是一系列由空格分隔的数字(整数和浮点数)。 我看到了几种实现此目的的方法:

  • 使用单个输入语句来请求包括计数在内的一系列数字,
  • 只需询问用户以空格分隔的数字列表并推断计数。

要执行这些操作,您可以执行以下操作之一:

#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  

或者对于更简单的解决方案,只需按如下方式要求数字:

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