从文本文件输入值的正确方法

Proper way of inputting values from text file

我很难理解如何正确地将值从 txt 文件插入到我的变量中。第一行是测试用例的数量,然后是房屋数量,然后是房屋二进制字符串。这是我的输入值:

2 (Number of tests [INT])
3 (Number of houses [INT])
111 (Binary string [String])
6 (Number of houses [INT])
100100 (Binary string [String])

我知道我们可以这样做:

test_cases = int(input())
for i in range(test_cases):
  house_number = int(input())
  house_string = input()
  some_function(int value1, string value2)

但我想创建 txt 文件,所以我不会每次都输入这些值。我知道如何打开和阅读 txt 文件。但是无法想象我如何传递变量。

with open('test.txt') as file:
  lines = file.readlines()

  for line in lines:
    ...

只要您的文本文件与格式一致,您就可以循环每两个元素并将它们变成一个元组列表。请注意,假设存在完整对,此代码排除了第一个元素:

with open('test.txt') as file:
    output_lst = []
    lines = file.readlines()
    for i,k in zip(lines[1::2], lines[2::2]):
        output_lst.append((int(i), str(k)))