从文本文件输入值的正确方法
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)))
我很难理解如何正确地将值从 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)))