㈠ python基礎教程第二版和第三版有什麼區別請大神們指教下
時間來到2008年,python發展已近20年,創始人龜叔越來越覺得python里的好多東西已發展的不像他的初衷那樣,開始變得臃腫、不簡潔、且有些設計讓人摸不到頭腦,比如unicode與str類型,str與bytes類型的關系,這給很多python程序員造成了困擾。
龜叔再也忍不了,像之前一樣的修修補補已不能讓Python變的更好,於是來了個大變革,Python3橫空出世,不兼容python2,python3比python2做了非常多的改進,其中一個就是終於把字元串變成了unicode,文件默認編碼變成了utf-8,這意味著,只要用python3,無論你的程序是以哪種編碼開發的,都可以在全球各國電腦上正常顯示,真是太棒啦!
PY3 除了把字元串的編碼改成了unicode, 還把str和bytes做了明確區分,str就是unicode格式的字元,bytes就是單純二進制啦。
㈡ 0基礎自學python,有入門書籍推薦下么_零基礎學python用哪本書好
第一個
個人認為《Python學習手冊:第3版》是學習語言基礎比較好的書了.
《Python學習手冊(第3版)》講述了:Python可移植、功能強大、易於使用,是編寫獨立應用程序和腳本應用程序的理想選擇。無論你是剛接觸編程或者剛接觸Python,通過學習《Python學習手冊(第3版)》,你可以迅速高效地精通核心Python語言基礎。讀完《Python學習手冊(第3版)》,你會對這門語言有足夠的了解,從而可以在你所從事的任何應用領域中使用它。
《Python學習手冊(第3版)》是作者根據過去10年用於教學而廣為人知的培訓課程的材料編寫而成的。除了有許多詳實說明和每章小結之外,每章還包括一個頭腦風暴:這是《Python學習手冊(第3版)》獨特的一部分,配合以實用的練習題和復習題,讓讀者練習新學的技巧並測試自己的理解程度。
《Python學習手冊(第3版)》包括:
類型和操作——深入討論Python主要的內置對象類型:數字、列表和字典等。
語句和語法——在Python中輸入代碼來建立並處理對象,以及Python一般的語法模型。
函數——Python基本的面向過程工具,用於組織代碼和重用。
模塊——封裝語句、函數以及其他工具,從而可以組織成較大的組件。
類和OOP——Python可選的面向對象編程工具,可用於組織程序代碼從而實現定製和重用。
異常和工具——異常處理模型和語句,並介紹編寫更大程序的開發工具。
討論Python3.0。
《Python學習手冊(第3版)》讓你對Python語言有深入而完整的了解,從而幫助你理解今後遇到的任何Python應用程序實例。如果你准備探索Google和YouTube為什麼選中了Python,《Python學習手冊(第3版)》就是你入門的最佳指南。
第二個
《Python基礎教程(第2版·修訂版)》也是經典的Python入門教程,層次鮮明,結構嚴謹,內容翔實,特別是最後幾章,作者將前面講述的內容應用到10個引人入勝的項目中,並以模板的形式介紹了項目的開發過程,手把手教授Python開發,讓讀者從項目中領略Python的真正魅力。這本書既適合初學者夯實基礎,又能幫助Python程序員提升技能,即使是Python方面的技術專家,也能從書里找到耳目一新的內容。
第三個
《「笨辦法」學Python(第3版)》是一本Python入門書籍,適合對計算機了解不多,沒有學過編程,但對編程感興趣的初學者使用。這本書結構非常簡單,其中覆蓋了輸入/輸出、變數和函數三個主題,以及一些比較高級的話題,如條件判斷、循環、類和對象、代碼測試及項目的實現等。每一章的格式基本相同,以代碼習題開始,按照說明編寫代碼,運行並檢查結果,然後再做附加練習。這本書以習題的方式引導讀者一步一步學習編程,從簡單的列印一直講授到完整項目的實現,讓初學者從基礎的編程技術入手,最終體驗到軟體開發的基本過程。
【大牛評價】hardway(笨辦法)比較適合起步編程,作為Python的入門挺不錯。
第四個
在這里給大家推薦最後一本《集體智慧編程》
本書以機器學習與計算統計為主題背景,專門講述如何挖掘和分析Web上的數據和資源,如何分析用戶體驗、市場營銷、個人品味等諸多信息,並得出有用的結論,通過復雜的演算法來從Web網站獲取、收集並分析用戶的數據和反饋信息,以便創造新的用戶價值和商業價值。
全書內容翔實,包括協作過濾技術(實現關聯產品推薦功能)、集群數據分析(在大規模數據集中發掘相似的數據子集)、搜索引擎核心技術(爬蟲、索引、查詢引擎、PageRank演算法等)、搜索海量信息並進行分析統計得出結論的優化演算法、貝葉斯過濾技術(垃圾郵件過濾、文本過濾)、用決策樹技術實現預測和決策建模功能、社交網路的信息匹配技術、機器學習和人工智慧應用等。
本書是Web開發者、架構師、應用工程師等的絕佳選擇。
「太棒了!對於初學這些演算法的開發者而言,我想不出有比這本書更好的選擇了,而對於像我這樣學過Al的老朽而言,我也想不出還有什麼更好的辦法能夠讓自己重溫這些知識的細節。」
——DanRussell,資深技術經理,Google
「Toby的這本書非常成功地將機器學習演算法這一復雜的議題拆分成了一個個既實用又易懂的例子,我們可以直接利用這些例子來分析當前網路上的社會化交互作用。假如我早兩年讀過這本書,就會省去許多寶貴的時間,也不至於走那麼多的彎路了。」
——TimWolters,CTO,CollectiveIntellect
第五個
其實我覺得很多人也在看《Python核心編程:第2版》.在我自己看來,我並不喜歡這本書.
這本書的原書的勘誤表就有夠長的,翻譯時卻幾乎沒有參考勘誤表,把原書的所有低級錯誤都搬進去了。這本書的原書質量也並不好,書的結構組織並不合理,不適合初學者閱讀。有人說,這本書適合進階閱讀,我覺得也不盡然。這本書很多地方都寫的欲言又止的,看得人很郁悶。
//替換指定位置的數據
㈢ 求推薦一些關於web前端的一些教程書籍,適合新手的
前端部分書很多,建議跟著 慕課網 這種在線培訓的課程,邊學邊練。
一部分書供參考。
一、javascript方面的書籍:
1 JavaScript權威指南(第6版):號稱javascript聖經,前端必備;前端程序員學習核心JavaScript語言和由Web瀏覽器定義的JavaScript API的指南和綜合參考手冊;
2 JavaScript高級程序設計(第3版) :前端必備書,如果你想真正進入前端世界,這是一本不可多得的進階書,沒什麼好說的,必須細細品讀;
3 JavaScript語言精粹 :這是一本值得任何正在或准備從事JavaScript開發的人閱讀,並且需要反復閱讀的js書籍;
4 基於MVC的JavaScript Web富應用開發 :這不是一本適合初學者看的書籍,更適合具有一定前端開發經驗的從業人員看的框架書,如果你想構建一個復雜的前端應用,你會如獲至寶;
5 JavaScript DOM編程藝術(第2版):好書主要是dom操作和兼容方面的知識,值得一看;
6 JavaScript經典實例 :可以看看,主要是有關javascript一些典型小工具,有些剖析的並不深入,總體來說可以看看;
7 JavaScript設計模式 :寫js不難。如何編寫優美、結構化和可維護的代碼呢?反復的揣摩這本書吧;
8 JavaScript編程精解 : 了解一下可以;
9 JavaScript模式 : 又一本設計模式的好書,如果你想讓自身的Javascript技巧提高到一個新層次,成為專業的開發人員和程序員,反復閱讀吧;
10 JavaScript高效圖形編程: 是一本具有很強實操性的JavaScript圖書,主要涉及JavaScript性能優化、高級UI設計、Web游戲開發、面向移動設備的開發、圖形編程知識等
11 JavaScript RIA開發實戰——最佳實踐、性能、表現:主要介紹如何採用最合理的方式為RIA編寫可靠的、易於維護的HTML、CSS和JavaScript代碼,以及如何使用Ajax技術在後台實現瀏覽器與Web伺服器的動態通信。可以細細讀一下;
12 高性能JavaScript : 又一本好書,涵蓋了當今JavaScript開發者需要了解的所有性能問題,毫無疑問,它已加入我的性能最佳實踐列表;值得細細品讀並實踐;
13 悟透JavaScript(美繪本): 這是一本可以讓你輕松加愉快的閱讀的一本好書,讀完你可能會領悟:哦原還可以這樣;
14 Ajax權威指南 : 詳細的展示了ajax技術的發展以及應用,對於了解ajax技術很不錯的一本詳盡書籍;
15 Node.js開發指南 : Node.js是一種新興的開源技術,它將JavaScript從Web瀏覽器移植到常規的伺服器端,使用Chrome的V8虛擬機來解釋和執行JavaScript代碼,能用於構建高性能、高可擴展的伺服器和客戶端應用,以實現真正「實時的Web應用」;
16 Node Web開發 : 雅虎架構師精準解讀最炙手可熱的Web開發技術;
17 jQuery Mobile權威指南:是系統學習jQuery Mobile的權威參考書;
18 數據可視化實戰:使用D3設計互動式圖表 :web矢量圖類庫d3.js的工具書;
19 jQuery權威指南 : 學習jquery的入門書籍;
20 精彩絕倫的jQuery : 名字起的不錯,能忽悠不少人,入門級書籍;
21 鋒利的jQuery : 不錯的一本jquery應用書籍;
二、Html和Css方面書書籍:
1 HTML 5與CSS 3權威指南 :html5和css3入級好書;詳盡講解了HTML5與CSS 3的所有功能和特性;
2 HTML5移動Web開發指南:介紹了一下移動端的web開發技術,以及一些移動端框架:QueryMobile、Sencha Touch,以及PhoneGap;
3 響應式Web設計:HTML5和CSS3實戰 :有關響應式設計的知識並不是很多,大量篇幅寫了html5和css3,這本書比較一般;
4 HTML5程序設計(第2版) : 很全面的介紹了一下html5技術,前端人員都應該看一看;
5 編寫高質量代碼:Web前端開發修煉之道 : 不可多得的一本前端開發規范書,前端開發人員的必讀書;
6 精通CSS:高級Web標准解決方案 :css兼容性解決方案匯總,好書;
7 CSS禪意花園 :主要的Web設計原則以及它們運用的CSS布局技巧;
8 CSS權威指南 : css經典工具書;
9 高性能網站建設進階指南:Web開發者性能優化最佳實踐 : 好書啊!網站性能優化,瀏覽器載入渲染詳細解析;
10 網站重構——應用Web標准進行設計 : 前端開發人員必讀書,一本可以幫助網頁設計師快速了解和掌握web標准設計的書;
11 變幻之美 DIV+CSS網頁布局揭秘 : 詳細的介紹了從效果圖到web布局實現的整個過程;
12 HTML5 Canvas基礎教程 : canvas入門書籍;
㈣ 第三版VB程序設計教程課後習題答案 龔沛曾主編的
習題一
答案在教材上找。
習題二
1.對象指現實世界中的實體。每個對象有自己的特徵(屬性)、行為(方法)和發生在該對象上的活動(事件)。
類是對同一種對象的集合與抽象。類包含所創建對象的屬性數據,以及對這些數據進行操作的方法。封裝和隱藏是類的重要特性,將數據結構和對數據的操作封裝在一起,類的內部實現細節對用戶來說是透明的。
VB工具箱中的可視圖標是VB系統設計好的標准控制項類。通過將控制項類實例化,得到真正的控制項對象。在窗體上畫一個控制項,就將類轉換為對象,創建了一個控制項對象。
VB中常用的對象是控制項。此外,VB還提供了系統對象。窗體是個特例,它既是類也是對象。當向一個工程添加一個新窗體時,實質就由窗體類創建了一個窗體對象。
對象的三要素:屬性、事件和方法。
屬性:存放對象的數據(決定對象外觀及功能)對象屬性的設置方法:在設計階段,利用屬性窗口直接設置屬性值;程序運行時,通過語句[對象名.]屬性名=屬性值。若屬性只能在設計階段設置,在程序運行階段不可改變,稱為只讀屬性。
事件:發生在對象上的事情。同一事件,對不同的對象,會引發不同的反應。
事件過程:應用程序處理事件的步驟。應用程序設計的主要工作就是為對象編寫事件過程的代碼。
方法:面向對象的程序設計語言,為程序設計人員提供了一種特殊的過程和函數。方法是面向對象的,調用時一定要指明對象。
2.窗體和控制項具有的基本屬性「
(1) Name屬性:名稱
所創建的對象名稱,在程序中引用。
(2) Caption屬性:標題
該屬性決定了對象上顯示的內容。
(3) Height、Width、Top和Left屬性
決定對象的大小和位置。
(4) Enabled 屬性:對象是否允許操作
(5) Visible 屬性:對象是否可見
(6) Font 屬性組:文本的外觀
FontName字體、FontSize大小
FontBold粗體、FontItalic斜體
FontStrikethru 刪除線
FontUnderline 下劃線
(7) ForeColor屬性:前景顏色
(8) BackColor屬性:背景顏色
(9) MousePointer屬性:滑鼠指針類型, 設置值范圍0~15,由系統指定 。若為99,由用戶提供的圖形文件定義滑鼠指針形狀。
(10) MouseIcon屬性:在MousePointer屬性值為99時,存放自定義的滑鼠圖標文件(.ico或.cur)。圖標庫在Graphics目錄下。
3.窗體的事件:Load事件是在窗體被裝入工作區時觸發的事件。當應用程序啟動,自動執行該事件,該事件通常用來在啟動應用程序時對屬性和變數進行初始化。
窗體的方法:(1)Print方法
用來顯示文本內容,格式:[對象.]print 表達式
(2)Cls方法
清除運行時在窗體或圖形框中產生的文本或圖形, Cls方法不能清除窗體在設計時的文本和圖形。
格式:[對象.]cls
(3)Move方法
可移動窗體或控制項,並可改變其大小。
語法格式如下:
[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]]
4.標簽作用:用於顯示文本(輸出)信息,不能作為輸入信息的界面。其內容只能通過Caption屬性設置或修改,不能直接編輯。
5.文本框是一個文本編輯區域,可以在該區域輸入、編輯、修改和顯示正文內容。在VB中字元長度以字為單位,也就是一個西文字元與一個漢字都是一個字,長度為1。
重要屬性(1) Text 顯示或輸入的正文內容。
(2) Maxlength 設置文本框可輸入的文字最大長度。默認值為0,表示可以輸入任意長字元串。
(3) MultiLine 多行屬性
設置為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,按Enter鍵可插入一空行。
(4) ScrollBars 滾動條屬性
0-None 無滾動條
1-Horizontal 水平滾動條
2-Vertical 垂直滾動條
3-Both 同時加水平和垂直滾動條
注意:當MultiLine為True時,ScrollBars才有效
(5) PassWordChar 設置顯示文本的替代符。例如,當設置為「*」,則在文本框輸入的內容均以「*」顯示,而存儲的值是用戶輸入的原文。一般用於設置口令的輸入。
當MultiLine為True時,該屬性不起作用,密碼不允許多行。
(6) Locked 指定文本控制項是否可被編輯,默認值為False(可編輯),當設置為True時,文本控制項相當於標簽控制項的作用。
注意:Locked與Enabled的區別。
(7)文本內容進行選擇操作的三個屬性
SelStart 選定的正文開始位置
SelLength 選定的正文長度
SelText 選定的正文內容
這3個屬性互相關聯,例如設置SelStart、SelLength後,SelText 自動存放指定的文本。
注意:屬性窗口中沒有這三個屬性,只能在程序代碼中使用。
6.文本框的事件:(1) Change事件:當Text屬性值發生改變時引發該事件
(2) KeyPress事件:按下並且釋放鍵盤上的一個鍵時,引發焦點所在控制項的KeyPress事件,所按鍵的值存放在參數KeyAscii中。對回車的判斷 KeyAscii=13
7.文本框最有用的方法是SetFocus,把游標移到指定的文本框中。
8.命令按鈕 Picture屬性:按鈕可顯示圖片文件(.bmp和.Ico),當Style為1時有效。
10. 啟動窗體時將命令按鈕定位在窗體中央的代碼
Private Sub Form_Load()
Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2
Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2
End Sub
11.vb圖片文件在 C:\Program Files\Microsoft Visual Studio\Common\Graphics 文件夾。
安裝VB時可選擇是否安裝這些圖片文件。
習題三
1. 合法常量:
(1) Double
(2) 錯誤
(3) Double
(4) Double
(5) 錯誤
(6) Integer
(7) String
(8) String
(9) Date
(10) Double
(11) 錯誤(漢字字元)
(12)Integer(八進制)
(13) 錯誤(八進制無數碼8)
(14) Integer
(15) Boolean
(16) 錯誤
(17) 錯誤(十六進制無數碼g)
(18) Single
說明:浮點型變數默認為Double類型而非Single。
2. 合法變數名:
(1) √
(2) √
(3) 誤:數字開頭
(4) 誤:含空格
(5) 誤:關鍵字
(6) √
(7) 誤:關鍵字
(8) 誤:有括弧
(9) √
(10) √
(11) √
(12) √(漢字字元可作為變數名,但不常用,且此名稱易誤解)
變數命名規則見P.41-42。
字母(漢字)開頭,字母(漢字)、數字、下劃線組成,長度為1-255個字元;關鍵字不可作為變數名,但可在變數名中嵌入關鍵字;不區分大小寫。
常量、數組、類型、函數、過程、對象命名規則與此相同。常量名通常全用大寫。
3. 寫VB表達式
(1) Abs(x + y) + z ^ 5
(2) (1 + x * y) ^ 6
(3) (10 * x + Sqr(3 * y)) / (x * y)
(4) (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)
(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10)) / Sqr(x + y + 1)
4. 根據條件寫表達式
(1) 隨機產生大寫字母 Chr(Int(Rnd * (Asc("L") - Asc("C") + 1) + Asc("C")))
(2) [100,200]內的隨機數 Int(Rnd * 101) + 100
(3) 點(x,y)位於第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0 或 x * y > 0
(4) x是5或7的整數倍 x Mod 5 = 0 Or Int(x / 7) = x / 7
(5) 將兩位整數x的個位與十位對換 x \ 10 + (x Mod 10) * 10
(6) 四捨五入取兩位小數 Round(x, 2)
(7) 字元變數C是字母字元(不區分大小寫)——准確地說是:字元變數C的第一個字元是字母
C >= "A" And C <= "Z" Or C >= "a" And C < "z"
或 UCase(C) >= "A" And UCase(C) <= "Z"
或 LCase(C) >= "a" And LCase(C) <= "z"
(8) 字元變數S第5個字元起取6個字元 Mid(S, 5, 6)
(9) 10≤x<20 10 <= x And x < 20
(10) x,y至少有一個小於z x < z Or y < z
(11)x,y都大於z x > z And y > z
5. 寫表達式的值
(1) 188 ——注意運算的優先順序順序,以及整除運算「\」的計算
(2) 200100 —— 計算100 + "100"時,由於兩個操作數類型不同,在可能的情況下自動採用精度較高的類型,即把字元型轉換為數值型,100 +100 得到200;然後進行字元串連接運算200 & 100 ,再自動將兩個數值轉換為字元串,得200100。
(3) 68.56 ——在四捨五入函數產生之前,這就是四捨五入的計算方法
(4) 876554 ——先進行字元串的「+」運算,再轉換成數值。在變數名和函數名後可加上類型符,以強調其類型,但不是必須的。
(5) 2000-2-29
(6) 6
6.Shell函數調用
i = Shell("mspaint.exe", 1) '啟動畫圖
i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '啟動Word
說明:「畫圖」是Windows本身提供的程序,可以省略路徑。
8. 答:單精度浮點型
第7,9題答案在教材中找。
習題四
第1,3,5,8題答案在教材中找。
2. 賦值語句的錯誤
(1)10x 不能做變數名。
上機驗證結果:VB將10識別為行號,x = Sin(x) + y是為變數x賦值。故無語法錯誤。
(2)Sqr函數的參數為負數。
上機驗證結果:「無效的過程調用或參數」
(3)賦值號左邊不是變數名。
上機驗證結果:「缺少子程序、函數或屬性」
(4)除數為0
上機驗證結果:「溢出」。
4. [答案略]
說明:小數位可以使用四捨五入函數Round或輸出格式函數Format。例如Round(x, 2)和Format(x, 「0.00」)均可使結果只保留兩位小數。但如果四捨五入後要進行數值運算,則使用Round函數,例如z=Round(x,2)+Round(y,2)。而Format函數通常只用於輸出格式設置。
6.指出錯誤
(1)「≥」應改為「>=」,前者是中文字元,不具有運算功能。
(2)「10<x<20」應改為「10<x And x<20」,否則運行結果錯誤。
7.寫條件語句
(1)
Dim c As String
c = InputBox("c=")
If Mid(c, 3, 1) = "C" Then
MsgBox "Yes"
Else
MsgBox "No"
End If
(2)
# 使用If語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
If x > 20 Then
y = x ^ 2 + 3 * x + 2
ElseIf x >= 10 Then
y = Sqr(3 * x) - 2
ElseIf x > 0 Then
y = 1 / x + Abs(x)
End If
Print "y="; y
# 使用Select Case語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
Select Case x
Case Is > 20
y = x ^ 2 + 3 * x + 2
Case Is >= 10
y = Sqr(3 * x) - 2
Case Is > 0
y = 1 / x + Abs(x)
End Select
Print "y="; y
(3)
# 使用If語句
Dim x As Single, y As Single, z As Single, Max As Single
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = x
If y > Max Then Max = y
If z > Max Then Max = z
Print "Max="; Max
# 使用IIF函數
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = IIf(x > y, x, y)
Max = IIf(z > Max, z, Max)
Print "Max="; Max
9. 計算循環次數
(1) 6
(2)19
(3)0
(4)死循環直至溢出
10. 40號語句執行 4次;第50 號語句執行12次;
執行第90號語句輸出的結果是: 13,0,2
說明:該程序為嵌套循環,其中外循環由j值變化(1,4,7,10)控制執行4次,當j值為13時結束循環;內循環由k值變化(6,4,2)控制執行3次,當k值為0時結束循環。第40 行是外循環的循環體,故執行4次;第50 行是內循環的循環體,故執行4*3=12次。
11. 可以定一個較大的循環次數,在循環體中根據條件用Exit For退出。
但這種情況通常用Do While循環控制。
12. 編程(並非唯一正確答案)
(1)
Dim i As Integer, s As Integer
For i = 1 To 10
s = s + (i + 1) * (2 * i + 1)
Next i
Print "s="; s
(2)
Dim i As Integer, n3 As Integer, n7 As Integer
For i = 1 To 100
If i Mod 3 = 0 Then n3 = n3 + 1
If Int(i / 7) = i / 7 Then n7 = n7 + 1
Next i
Print "1-100中3的倍數有"; n3; "個"
Print "1-100中7的倍數有"; n7; "個"
(3)
Dim s1 As String, s2 As String, i As Integer
s1 = InputBox("Input String")
s2 = ""
For i = 1 To Len(s1)
s2 = Mid(s1, i, 1) + s2
Next i
Print "原序:"; s1
Print "反序:"; s2
或
For i = Len(s1) To 1 Step -1
s2 = s2 + Mid(s1, i, 1)
Next i
13. 輸出字元串「10100」。該程序功能是將十進制數轉化為二進制。
說明:要理解該程序需要了解數制轉換的計算方法(有興趣者參看網路http://ke..com/view/1426817.htm)。48是字元"0"的ASCII碼。
14. 運行時輸出 22 484
該程序功能是求x和y最大公約數和最小公倍數。
說明:此演算法稱為「輾轉相減法」。可對照例4.17的輾轉相除(輾轉求余)法。
15.[50,100]間的20個隨機數,求最大值、最小值、平均值。
Dim x As Integer, sum As Integer, aver As Single
Dim n%, i%, max%, min%
Randomize
max = 50: min = 100: n = 20
For i = 1 To n
x = Int(Rnd * 51 + 50)
List1.AddItem x
sum = sum + x
If x > max Then max = x
If x < min Then min = x
Next i
aver = sum / n
Print "最大值:"; max, "最小值:"; min, "平均值:"; aver
習題五
1. 指定數組的默認下界 Option Base 1
2.合理的數組聲明
(1)錯。定義數組不可用變數(教材99頁)。
(2)正確。該數組下標為0-11。
(3)錯。VB中數組下標用圓括弧。
(4)正確。三維數組三個下標分別為0-1,0-1,0-2,共12個元素。
(5)錯誤。非動態數組,不可重定義。
(6)錯誤。動態數組重定義時不可改變數據類型。
(7)正確。二維數組兩個下標分別為0-2,0-3,共12個元素。
(8)語法錯誤,二維數組定義中漏寫逗號——可能是印刷錯誤,加上此逗號則正確。
3.當引用數組元素時下標值小於定義的最小下標,或大於最大下標時,會發生「下標越界」錯誤。
4.數組名:a ;數組類型:Single(單精度浮點型);維數:二維;
各維的上下界:第一維下界(最小下標)為 -1,上界(最大下標)為2,
第二維下界(最小下標)為 0,上界(最大下標)為3;
數組的大小:4行4列共16個元素
以矩陣的格式輸出二維數組:
For i = -1 To 2
For j = 0 To 3
Print a(i, j);
Next j
Print
Next i
或寫成更加通用的代碼形式:
For i = LBound(a, 1) To UBound(a, 1)
For j = LBound(a, 2) To UBound(a, 2)
Print Tab(j * 8); a(i, j);
Next j
Print
Next i
6.一維字元數組
Dim a(1 To 20) As String
Private Sub Command1_Click() '(1)隨機產生字元串
Dim i As Integer, j As Integer, n As Integer, c As String * 1
Randomize
For i = 1 To 20
a(i) = "" '將第i個元素清空
n = Int(Rnd * 10 + 1) '產生[1,10]的隨機數
For j = 1 To n 'a(i)中有n個字元
c = Chr(Int(Rnd * 26 + 97)) '隨機產生字母97是字母a的ASCII碼
a(i) = a(i) + c
Next j
Next i
End Sub
Private Sub Command2_Click() '(2)輸出字元串
Dim i As Integer
For i = 1 To 20
Print Tab(((i - 1) Mod 5) * 11); a(i);
If i Mod 5 = 0 Then Print
Next i
End Sub
Private Sub Command3_Click() '(3)最長的字元串
Dim i As Integer, imax As Integer
imax = 1
For i = 2 To 20
If Len(a(i)) > Len(a(imax)) Then
imax = i
End If
Next i
Print "最長的字元串:"; a(imax)
End Sub
第7,8題答案在教材中找。
第9題「自定義變數」含義不明,暫時無法回答。
第5,10 題 [暫略]
習題六
第1,2,6-8題答案可在教材中找到。
3.指出過程說明中的錯誤
(1)Sub子過程不應該定義類型
(2)函數與形式參數不應該同名
(3)數組作為形式參數時,應使用傳地址方式,不可使用傳值(ByVal)
(4)形式參數應該是變數或數組名,不可以是一個數組元素
4.指出調用過程語句的錯誤
(1)無語法錯誤,但因形參sum所對應的實參是常量3,故計算結果無法傳遞給主調程序。
(2)實參變數c與形參sum的類型不一致。
(3)類似於(1),形參sum所對應的實參是表達式a+b,故計算結果無法傳遞給主調程序。
(4)類似於(1)和(2),形參sum所對應的實參是表達式Sqr(c),故計算結果無法傳遞給主調程序。另外srq(a)存在語法錯誤(拼寫錯)。
(5)與(2)相同,實參c與形參sum的類型不一致。
5.迭代法求平方根
(1)自定義函數的定義及調用
Function FSqr1(a As Single) As Single
Dim x0 As Single, x As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
FSqr1 = x
End Function
Private Sub Command1_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
y = FSqr1(x)
Print y
End If
End Sub
(2)自定義子過程的定義及調用
Sub FSqr2(a As Single, x As Single)
Dim x0 As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
End Sub
Private Sub Command2_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
Call FSqr2(x, y)
Print y
End If
End Sub
(3)遞歸函數及調用 [略]
習題七
第1-9題,答案在教材上找;第10,12-14題,略。
11.檢測Ctrl和F3同時按下的代碼:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 114 Then MsgBox "HAHA"
End Sub
習題八
第1,2,6,7,9題答案可閱讀教材找到。
3.寫Open語句
(1) Open "Seqnew.dat" For Output As #1 '重寫
或 Open "Seqnew.dat" For Append As #1 '添加
(2)Open "Seqold.dat" For Input As #2
(3)Open "Seqappend.dat" For Append As FreeFile
4.編程,將文件Text.dat 讀入變數strTest。
Dim strTest As String
Open "Text.dat" For Input As #2
Do While Not EOF(2)
strTest = strTest + Input(1, #2)
Loop
8.本課程不涉及二進制文件。故此處以順序文件讀寫方式編程。另外合並的結果可以是合並到其中某一個文件,也可以是合並到一個新的文件,此處代碼是合並到其中一個文件F1.txt。
'方法一,在2號文件一次讀一個字元並寫入1號文件
Dim strTemp As String * 1
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
Do While Not EOF(2)
strTemp = Input(1, #2)
Print #1, strTemp; '注意結尾有分號,否則每個字元一行
Loop
Close
'方法二,在2號文件一次讀一個字元並累加,最後將累加結果寫入1號文件
Dim strTemp As String '注意方法一變數定義的區別
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
strTemp = ""
Do While Not EOF(2)
strTemp = strTemp + Input(1, #2)
Loop
Print #1, strTemp
Close
習題九
答案在教材上找。
習題十
答案在教材上找
㈤ 《Python程序設計(第3版)》pdf下載在線閱讀全文,求百度網盤雲資源
《Python程序設計(第3版)》([美] John Zelle)電子書網盤下載免費在線閱讀
鏈接: https://pan..com/s/1nsErtj_vFUrNM10zolYmYw
書名:Python程序設計(第3版)
作者:[美] John Zelle
譯者:王海鵬
豆瓣評分:7.3
出版社:人民郵電出版社
出版年份:2018-1-12
頁數:344
內容簡介:
本書是面向大學計算機科學專業第一門程的教材。本書以Python語言為工具,採用相當傳統的方法,強調解決問題、設計和編程是計算機科學的核心技能。
全書共13章,包含兩個附錄。第1章到第5章介紹計算機與程序、編寫簡單程序、數字計算、對象和圖形、字元串處理等基礎知識。第6章到第8章介紹函數、判斷結構、循環結構和布爾值等話題。第9章到第13章著重介紹一些較為高級的程序設計方法,包括模擬與設計、類、數據集合、面向對象設計、演算法設計與遞歸等。附錄部分給出了Python快速參考和術語表。每一章的末尾配有豐富的練習,包括復習問題、討論和編程聯系等多種形式,幫助讀者鞏固該章的知識和技能。
本書特色鮮明、示例生動有趣、內容易讀易學,是美國頗受歡迎的教程,適合Python入門程序員閱讀,也適合高校計算機專業的教師和學生參考。
㈥ 學習JAVA的書籍
1、《深入理解計算機系統》
從c語言到匯編語言到硬體再到操作系統,寫得非常好。是一本能幫助深入理解計算機系統的書。基本上把這本書吃透面試操作系統的大部分問題都不是問題。
2、《演算法導論(第三版)》
被很多acmer coder奉為學演算法的經典之作,但不太適合初學者,因為它這本書很多內容只提供了偽代碼,而沒有具體實現。但可以從這本書學數據結構和演算法好,因為日後的編程語言對實現而言實際上並沒有特別大的障礙,只是適合與不適合的選擇罷了,而把想法轉換成編程語言才是對演算法知識的考驗。如果不想太過深入的話可以忽略掉第四部分(高級設計和分析技術)第五部分(高級數據結構)和第七部分(演算法問題選編),你會發現書其實比你想像中薄很多噢!
3、《計算機網路:自頂向下方法》
軟體學院的計算機網路教材,非常適合初學者,裡面將計算機網路從頂層到底層逐章分析了一遍,如果能夠結合一些實驗來輔助理解會更好,因為裡面的講解比較抽象。
4、《STL源碼剖析》
如果你是經常用c++刷演算法題的同學,那麼一定經常用STL的各種集合, vector, set, stack, queue等等。它們的實現原理,在源碼面前,完全沒有秘密。
5、《圖解HTTP》
日本人著的介紹HTTP協 議的書,對理解HTTP協 議的一些細節有非常大的幫助,插畫也很多,感覺就像看漫畫一樣,很容易理解的。
6、《TCP/IP詳解卷一》
這本書能把枯燥的知識講得很細致,強烈推薦這本,看完相應章節後大概能夠明白為什麼TCP/IP要這么設計了。面試的時候經常問到三次握手和四次揮手,還有各種狀態的轉移, TIME_WAIT的時間為什麼是2*MSL······
7、《UNIX網路編程卷一:套接字聯網API(第三版)》
中文版快800頁,不過我只看了一些章節,這本書也是把TCP/IP的細節講得很深很深,此外還有非常重要的基本套接字編程,就是寫網路程序的時候那些bind, accept, listen, send, receive函數之類的,內容非常多,但是這些是理解多路復用模型所需要掌握的······select/poll/epoll這些系統調用解決了什麼問題?事件機制能不能理解?就看這本書的前六章了。
㈦ 求推薦幾本前端開發的教材。
這里給題主推薦一本入門級的前端教材《Head First HTML與CSS》。作者是(美國)羅布森(Elisabeth Robson) 和弗里曼(Eric Freeman),由徐陽、丁小峰翻譯。對學習者來說,閱讀這本書將是一個系統學習創建工業標准Web頁的體驗,而不只簡單地閱讀。
這本書的優勢在於:
學習者將通過玩游戲、解決謎題、探索秘密等從未想過的方式創建Web頁。
還能學習HTML如何與CSS協同工作。
當然,即使你零基礎從來沒有聽說過CSS,也沒有什麼太大的關系。這本書會使你不再顧慮Web—safe顏色支持的瀏覽器問題,也不再不明智地在網頁中加入標簽來控制字元。
更棒的是,你能夠興致勃勃地學習HTML、XHTML和CSS,而不是昏昏欲睡。如果你曾經讀過任何一本HeadFirst系列書籍,你就會知道其中的奧秘:豐富、活潑的設計調動你的頭腦,讓思維活躍起來。通過採用神經生物學、認識心理學以及學習理論的最新研究成果,這本書將激發你學習HTML和CSS的興趣。