我正在从文本文件中读取输入,在某些情况下,我必须执行一些操作。输入文件的第一行包含测试用例的数量。下一行包含输入的大小。下一行由元素组成。
接受输入并遵循正确的操作之后。由于必须维护该顺序,因此我正在对生成的输出进行排序。
import sys
test_case = int(sys.stdin.readline())
t = 0
while t < test_case:
len_a, len_b = map(int, input().split())
A = set()
B = set()
for element in sys.stdin.readline().split():
A.add(int(element))
for element in sys.stdin.readline().split():
B.add(int(element))
operation = int(sys.stdin.readline())
if operation == 1: print(sorted(set(A.intersection(B))))
elif operation == 2: print(sorted(set(A.union(B))))
elif operation == 3: print(sorted(set(A.symmetric_difference(B))))
elif operation == 4: print(sorted(set(A.difference(B))))
elif operation == 5: print(sorted(set(B.difference(A))))
t += 1
预期的输出是这样的:
{10000,20000,30000}
{10000,20000,30000,40000,50000,60000,80000,90000}
{40000,50000,60000,80000,90000}
{40000,50000,60000}
{80000,90000}
{}
但我得到:
[10000,20000,30000]
[10000,20000,30000,40000,50000,60000,80000,90000]
[40000,50000,60000,80000,90000]
[40000,50000,60000]
[80000,90000]
组()
希望以下内容对您有所帮助。
码
import sys
test_case = int(sys.stdin.readline())
t = 0
while t < test_case:
len_a, len_b = map(int, input().split())
A = set()
B = set()
for element in sys.stdin.readline().split():
A.add(int(element))
for element in sys.stdin.readline().split():
B.add(int(element))
operation = int(sys.stdin.readline())
if operation == 1: print(set(sorted(A.intersection(B))))
elif operation == 2: print(set(sorted(A.union(B))))
elif operation == 3: print(set(sorted(A.symmetric_difference(B))))
elif operation == 4: print(set(sorted(A.difference(B))))
elif operation == 5: print(set(sorted(B.difference(A))))
t += 1
编辑(为您的情况打印{}为空集,但不建议这样做)
import sys
test_case = int(sys.stdin.readline())
t = 0
while t < test_case:
len_a, len_b = map(int, input().split())
A = set()
B = set()
for element in sys.stdin.readline().split():
A.add(int(element))
for element in sys.stdin.readline().split():
B.add(int(element))
operation = int(sys.stdin.readline())
if operation == 1:
if len(A.intersection(B))!=0:
print(set(sorted(A.intersection(B))))
else:
print('{}')
elif operation == 2:
if len(A.union(B))!=0:
print(set(sorted(A.union(B))))
else:
print('{}')
elif operation == 3:
if len(A.symmetric_difference(B))!=0:
print(set(sorted(A.symmetric_difference(B))))
else:
print('{}')
elif operation == 4:
if len(A.difference(B))!=0:
print(set(sorted(A.difference(B))))
else:
print('{}')
elif operation == 5:
if len(B.difference(A))!=0:
print(set(sorted(B.difference(A))))
else:
print('{}')
t += 1
我已经测试过了,工作正常。希望这能解决您的问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句