我知道這是一個非常基本的問題,但我也是Python環境中的新手。我正在寫我的第一個程序(數據結構問題),我需要閱讀一些輸入測試用例。在python中編寫代碼以從「txt」文件讀取一些示例輸入的最佳方式是什麼?
輸入:
The first line contains the number of test cases T. T test cases follow.
The first line for each case contains N, the number of elements to be sorted.
The next line contains N integers a[1],a[2]...,a[N].
約束:
1 <= T <= 5
1 <= N <= 100000
1 <= a[i] <= 1000000
樣品輸入:
2
5
1 1 1 2 2
5
2 1 3 1 2
我寫了下面的程序,以從文件中讀取上面的輸入,但我敢肯定,這不是最好的辦法,因爲它包含很多if-else
循環和for
循環,這將真的吸大inputs
。
sample = open('sample.txt')
first = sample.readline()
if len(first) > 5 or len(first) <1:
print "Not correct input";
else:
test = sample.readline
for x in range(0,len(first)):
second = sample.readline()
if len(second) >100000 or len(second) < 1:
print "wrong input";
else:
third = list()
for y in range(0, len(third)):
third.append(sample.readline()[:1])
method_test(third) #calling a method for each sample input
請給我最好的解決方案。
你到底想幹什麼?看起來你已經把閱讀部分放下了,你想限制輸入嗎?此外,它看起來像這兩個「如果」總是會失敗(不可能同時滿足兩者和條件)。也就是說,他們永遠不會打印「不正確的輸入」/「錯誤的輸入」。 – CrazyCasta
其實我只是想獲得通用的解決方案,從每個約束文件讀取示例輸入。 –
'如果len(first)> 5和len(first)<1''沒有意義。你可能是指''或''? – codeape