摘要:代碼于是我就利用的代碼片段功能編寫了一個用于處理這些輸入輸出的代碼框架,并加入了測試功能寫函數前先寫測試時正確的事情。
前言
最近在實習,任務并不是很重,就利用閑暇時間使用Python3在PAT網站上刷題,并致力于使用Python3的特性和函數式編程的理念,其中大部分題目都有著類似的輸入輸出格式,例如一行讀入若干個數字,字符串,每行輸出多少個字符串等等,所以產生了很多重復的代碼。
Python代碼于是我就利用VS Code的代碼片段功能編寫了一個用于處理這些輸入輸出的代碼框架,并加入了測試功能(寫函數前先寫測試時正確的事情)。代碼如下
"""Simple Console Program With Data Input And Output.""" import sys import io def read_int(): """Read a seris of numbers.""" return list(map(int, sys.stdin.readline().split())) def test_read_int(): """Test the read_int function""" test_file = io.StringIO("1 2 3 ") sys.stdin = test_file assert read_int() == [1, 2, 3], "read_int error" def read_float(): """Read a seris of float numbers.""" return list(map(float, sys.stdin.readline().split())) def test_read_float(): """Test the read_float function""" test_file = io.StringIO("1 2 3 ") sys.stdin = test_file assert read_float() == [1.0, 2.0, 3.0], "read_float error" def read_word(): """Read a seris of string.""" return list(map(str, sys.stdin.readline().split())) def test_read_word(): """Test the read_word function""" test_file = io.StringIO("1 2 3 ") sys.stdin = test_file assert read_word() == ["1", "2", "3"], "read_word error" def combine_with(seq, sep=" ", num=None): """Combine list enum with a character and return the string object""" res = sep.join(list(map(str, seq))) if num is not None: res = str(seq[0]) for element in range(1, len(seq)): res += sep + str(seq[element]) if element % num != 0 else " " + str(seq[element]) return res def test_combile_with(): """Test the combile_with function.""" assert combine_with([1, 2, 3, 4, 5], "*", 2) == """1*2 3*4 5""", "combine_with error." def main(): """The main function.""" pass if __name__ == "__main__": sys.exit(int(main() or 0))VS Code代碼片段
添加到VS Code的默認代碼片段的操作大致如下:
文件->首選項->用戶代碼片段,選擇Python
編輯"python.json"文件如以下內容
{ /* // Place your snippets for Python here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected. // Example: "Print to console": { "prefix": "log", "body": [ "console.log("$1");", "$2" ], "description": "Log output to console" } */ "Simple Console Program With Data Input And Output": { "prefix": "simple", "body": [""""Simple Console Program With Data Input And Output.""" import sys def read_int(): """Read a seris of numbers.""" return list(map(int, sys.stdin.readline().split())) def read_float(): """Read a seris of float numbers.""" return list(map(float, sys.stdin.readline().split())) def read_word(): """Read a seris of string.""" return list(map(str, sys.stdin.readline().split())) def combine_with(seq, sep=" ", num=None): """Combine list enum with a character and return the string object""" res = sep.join(list(map(str, seq))) if num is not None: res = str(seq[0]) for element in range(1, len(seq)): res += sep + str(seq[element]) if element % num != 0 else " " + str(seq[element]) return res def main(): """The main function.""" pass if __name__ == "__main__": sys.exit(int(main() or 0)) " ], "description": "Simple Console Program With Data Input And Output" } }``` 然后再編寫Python代碼的時候,鍵入"simple"就可以自動輸入以上模板。 ![](https://static.oschina.net/uploads/img/201608/04182804_9GZn.png "在這里輸入圖片標題") # 總結
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45510.html
摘要:應直接使用原序列中的結點,返回歸并后的帶頭結點的鏈表頭指針。要求分別計算兩個多項式的乘積與和,輸出第一項為乘積的系數和指數,第二行為和的系數和指數。選定了表示方法后,考慮數據結構設計。選擇鏈表在設計數據結構的時候有系數指數和指針結構指針。 函數題給出編譯器為 C(gcc) 的解答,編程題給出編譯器 C++(g++) 或 Python(python3) 的解答。 函數題 兩個有序鏈表序...
摘要:先去空白,去掉空白之后取第一個字符,判斷正負符號,若是英文直接返回,若數字則不取。回文數題目描述判斷一個整數是否是回文數?;匚臄凳侵刚驈淖笙蛴液偷剐驈挠蚁蜃笞x都是一樣的整數。 JS算法題之leetcode(1~10) 前言 一直以來,前端開發的知識儲備在數據結構以及算法層面是有所暫缺的,可能歸根于我們的前端開發的業務性質,但是我認為任何的編程崗位都離不開數據結構以及算法。因此,我作為...
摘要:正如我標題所說,簡歷被拒??戳宋液啔v之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享 目錄: 印象中的頭條 面試背景 準備面試 ...
摘要:正如我標題所說,簡歷被拒??戳宋液啔v之后說頭條競爭激烈,我背景不夠,點到為止。。三準備面試其實從三月份投遞簡歷開始準備面試到四月份收,也不過個月的時間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學投稿的面試經歷 關注微信公眾號:進擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學的分享目錄:印象中的頭條面試背景準備面試頭條一面(Java+項目)頭條...
閱讀 977·2021-11-22 09:34
閱讀 2161·2021-11-11 16:54
閱讀 2196·2021-09-27 14:00
閱讀 940·2019-08-30 15:55
閱讀 1525·2019-08-29 12:46
閱讀 599·2019-08-26 18:42
閱讀 639·2019-08-26 13:31
閱讀 3183·2019-08-26 11:52