python在演算法題中判斷輸入結束 EOF

2022-09-07 15:12:29 字數 728 閱讀 6170

有些演算法題是這樣要求的,一行輸入一行資料,然後沒有規定我要輸入多少行,你要自行判斷檔案結束eof,否則是會runtime error的,因為oj內部都是用檔案來進行讀寫的。

例如a+b,每一行輸入a b,計算a+b的結果。

一般這種嘛,c/c++很簡單了,就是scanf判斷一下!=eof就完事了,但是python中沒有這種操作,需要另外的操作。這裡介紹一些目前我掌握的有三種方法:

這個很好想,就是判斷輸入並轉換成數值,然後最後讀不到東西了,轉換肯定會有異常,通過異常退出就行了,這個方法我個人不是太喜歡,就沒寫。

import

sysfor line in

sys.stdin:

a, b = (float(x) for x in

line.split())

print(a + b)

但是這種方法有乙個【致命】的缺點!!那就是不能斷點除錯,會提示這個stdin不是iterable的,這個真的是很致命了。。。。在做演算法題的時候不能除錯,我個人是覺得比讓我用txt寫還難受。。。

import

syswhile

true:

line =sys.stdin.readline()

ifnot

line:

break

a, b = (int(x) for x in

line.split())

print(a + b)

關鍵路徑在演算法題中的應用

1 aov和aoe網 aov是指的用頂點 vertex 表示活動,用邊集表示活動間優先順序的有向圖,圖中不會有環。aoe是指用帶權的邊集 edge 表示活動,用頂點表示事件的有向圖,邊權表示 完成活動所需要的時間。aoe網表示乙個工程的進行過程,它也不應該有環,一般來說它只有乙個源點 入度為零 和乙...

C STL在演算法題中的應用 持續更新

寫洛谷的題,有時候不會總是會去看題解,有的思路很巧妙,需要學習,有的用了很厲害的stl,之前一直在看,現在想想也是要記下來好一點。這個帖子持續更新吧,再見到好用的stl就在這裡記下來 1.vector,是個容器很好用,但是我基本沒怎麼用過 2.string.find first not of 0 找...

判斷Python輸入是否為數字

在接收raw input方法後,判斷接收到的字串是否為數字 例如 str raw input please input the number if str.isdigit 為true表示輸入的所有字元都是數字,否則,不是全部為數字 str為字串 str.isalnum 所有字元都是數字或者字母 st...