㈠ 笨方法學python習題43
按照你說的
Map是一個類,scene_map是一個類實例
scene_map.opening_scene()是調用scene_map類實例的opening_scene方法
_不是特定格式,看具體你起的變數名以及方法名,其中的.是特定格式。
㈡ 笨方法學Python三
習題4:變數(variable)和命名
你已經學會了print和算術運算。下一步你要學的是「變數」。在編程中,變數只不過是用來指代某個東西的名字。程序員通過使用變數名可以讓他們的程序讀起來更像英語。而且因為程序員的記性都不怎麼地,變數名可以讓他們更容易記住程序的內容。如果他們沒有在寫程序時使用好的變數名,在下一次讀到原來寫的代碼時他們會大為頭疼的。
如果你被這章習題難住了的話,記得我們之前教過的找到不同點、注意細節。
1.在每一行的上面寫一行註解,給自己解釋一下這一行的作用。
2.倒著讀你的.py文件。
3.朗讀你的.py文件,將每個字元也朗讀出來。
cars=100
space_in_a_car = 4.0
drivers=30
passengers = 90
5cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven
11print "There are", cars, "cars available."
12print "There are only", drivers,
,"drivers available."
13print
"There will be", cars_not_driven, "empty cars today."
14 print "We can transport", carpool_capacity, "people today."
15print "We have", passengers, "to carpool today."
16print "We need to put about"
,average_passengers_per_car, "in each car."
Note: space_in_a_car中的_是下劃線(underscore)字元。你要自己學會怎樣打出這個字元來。
這個符號在變數里通常被用作假想的空格,用來隔開單詞。你應該看到的結果
$ python ex4.py
There are 100 cars available.
There are only 30 drivers available.
There will be 7O empty cars today-
We can transport 120.o people today.
We have 90 to carpool today.
We need to put about 3 in each car.
加分習題
當我剛開始寫這個程序時我犯了個錯誤,python告訴我這樣的錯誤信息:
Traceback (most recent call last):
File "ex4.py", line 8, in
average_passengers_per_car = car_pool_capacity / passenger
NameError: name 'car_pool_capacity' is not defined
用你自己的話解釋一下這個錯誤信息,解釋時記得使用行號,而且要說明原因。
更多的加分習題:
1.我在程序里用了4.0作為space_in_a_car的值,這樣做有必要嗎?如果只用4會有什麼問題?
2.記住4.0是一個「浮點數」,自己研究一下這是什麼意思。
3.在每一個變數賦值的上一行加上一行註解。
4.記住=的名字是等於(equal),它的作用是為東西取名。
5.記住_是下劃線字元(underscore)。
6.將python作為計算器運行起來,就跟以前一樣,不過這一次在計算過程中使用變數名來做計算,常見的變數名有i,x,j等等。
習題5:更多的變數和列印
我們現在要鍵入更多的變數並且把它們列印出來。這次我們將使用一個叫「格式化字元串(formatstring)」的東西、每一次你使用「把一些文本引用起來,你就建立了一個字元串。字元串是程序將信息展示給人的方式。你可以列印它們,可以將它們寫入文件,還可以將它們發送給網站伺服器,很多事情都是通過字元串交流實現的。
字元串是非常好用的東西,所以再這個練習中你將學會如何創建包含變數內容的字元串。使用專門的格式和語法把變數的內容放到字元串里,相當於來告訴python:「嘿,這是一個格式化字元串,把這些變數放到那幾個位置。』一樣的,即使你讀不懂這些內容,只要一字不差地鍵入就可以了。
my_name =
'ZedA. Shaw'
my_age= 35 # nota lie
3my_height= 74 # inches
4my_weight=180#lbs
5my_eyes = 'Blue
6 my_teeth = "White'
7my_hair = 'Brown
print "Let's talk about %s." % my_name
1o print "He's %d inches tall." %my_height
11 print "He's %d pounds heavy." % my_weight
12print "Actually that's not too heavy.
13print "He's got %s eyes and %s hair." % (my_eyes, my_hair)
14print "His teeth are usually %s depending on the coffee." % my_teeth
15
16# this line is tricky, try to get it ecactlyright
17print "If I add %d, %d, and %d I get %a."%(
18
my_age, my_height, my_weight, my_age
+ my_height + my_weight)
Warning:
如果你使用了非ASCII字元而且碰到了編碼錯誤,記得在最頂端加一行#--
coding:
utf-8-
你應該看到的結果
$python ex5.py
Let's talk about Zed A. Shaw
He's 74inches tall.
He's180 pounds heavy
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teeth are usually White depending on the coffee
If I add 35,74,and 180 I get 289.
加分習題
1.修改所有的變數名字,把它們前面的「my「去掉。確認將每一個地方的都改掉,不只是你使用「=「賦值過的地方。
2.試著使用更多的格式化字元。例如%r就是是非常有用的一個,它的含義是「不管什麼都列印出來」。
3.在網上搜索所有的Pvthon格式化字元。
4.試著使用變數將英寸和磅轉換成厘米和千克。不要直接鍵入答案。使用Pvthon的計算功能來完成。習題6:字元串(string)和文本雖然你已經在程序中寫過字元串了,你還沒學過它們的用處。在這章習題中我們將使用復雜的字元串來建立一系列的變數,從中你將學到它們的用途。首先我們解釋一下字元串是什麼東西。
字元串通常是指你想要展示給別人的、或者是你想要從程序里「導出」的一小段字元。Python可以通過文本里的雙引號"或者單引號,識別出字元串來。這在你以前的print練習中你已經見過很多次了。如果你把單引號或者雙引號括起來的文本放到print後面,它們就會被python列印出來。
字元串可以包含格式化字元%s,這個你之前也見過的。你只要將格式化的變數放到字元串中,再緊跟著一個百分號%(percent),再緊跟著變數名即可。唯一要注意的地方,是如果你想要在字元串中通過格式化字元放入多個變數的時候,你需要將變數放到()圓括弧(parenthesis)中,而且變數之間用,逗號(comma)隔開。就像你逛商店說「我要買牛奶、麵包、雞蛋、八寶粥」一樣,只不過程序員說的是」(milkeggs, bread, soup)」。
我們將鍵入大量的字元串、變數、和格式化字元,並且將它們列印出來。我們還將練習使用簡寫的變數名。程序員喜歡使用惱人的難度的簡寫來節約打字時間,所以我們現在就提早學會這個,這樣你就能讀懂並且寫出這些東西了。
x="There are %d types of people."%10
binary = "binary"
do_not = "don't"
y= "Those who know %s and those who %s." % (binary, do_not)
print x
print y
print "I said: %r."%x
print "I also said: '%s'."%y
hilarious = False
joke_evaluation = "Isn't that joke so funny?!%r"
print joke_evaluation % hilarious
w="This is the left side of..."
e= "a string with a right side."
print w+e
你應該看到的結果
$ python ex6.py
There are 10 types of people.
Those who know binary and those who don't.
I said: 'There are 1o types of people.'
I also said: 'Those who know binary and those who don't.'
Isn't that joke so funny?! False
This is the left side of...a string with a right side
加分習題
1.通讀程序,在每一行的上面寫一行註解,給自己解釋一下這一行的作用。
2.找到所有的」字元串包含字元串」的位置,總共有四個位置。
3.你確定只有四個位置嗎?你怎麼知道的?沒准我在騙你呢。
4.解釋一下為什麼w和e用+連起來就可以生成一個更長的字元串。
㈢ 笨辦法學python 習題41 物以類聚 練習看不懂,請問怎麼做
該代碼表示一個框架,幾乎沒有實際內容,代碼分成兩類,以class開頭的是定義類,pass關鍵字表示什麼都不做。
後面的都是賦值,介紹其中兩個,其它可以類推:
rover=Dog("Rover")
將一個叫Rover的對象定義為Dog類型,並把它整個打包賦值給rover
Cat/person/Employee都是一樣的。
frank.pet=rover
調用的class person, self.pet=rover, self=frank。
PS:中文翻譯應該難理解有一些障礙,推薦看原版 Learn Python The Hard Way.pdf
㈣ 笨方法學python學到41習題卡住了怎麼辦
腳本不運行?圖發上來啊。。。
總之,我是先跳過去了。。。。
後來在知乎上看到一個小哥的回答,http://blog.csdn.net/xuelabizp/article/details/49203361
這個,自己看,回答採納吧!
㈤ 笨辦法學python練習41 AttributeError: 'str' object has no attribute 'append'用python3.5
'str'objecthasnoattribute'append'
字元串類型沒有append的方法
result.append(result)檢查result的數據類型
㈥ 《笨辦法學Python3》pdf下載在線閱讀,求百度網盤雲資源
《「笨辦法」學Python 3:進階篇》([美] 澤德·A.肖)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:
書名:「笨辦法」學Python 3:進階篇
作者:[美] 澤德·A.肖
譯者:王巍巍
出版社:人民郵電出版社
出版年份:2020-6
頁數:202
內容簡介:
本書是《「笨辦法」學Python 3》一書的進階篇,《「笨辦法」學Python 3》介紹了用Python 3編程的基礎知識,而本書則通過52個精心設計的習題幫助讀者超越基礎,提升水平。這52個習題大部分都結合實際演示,並配有附加挑戰,每個習題都可以幫讀者掌握一項關鍵的實踐技能,包括使用文本編輯器管理復雜的項目、利用功能強大的數據結構、應用演算法處理數據結構、掌握必要的文本分析和處理技術、使用SQL有效且合邏輯地建模存儲數據,以及學習強大的命令行工具等。本書旨在幫助讀者從單純地編寫能運行的代碼跨越到編寫能解決實際問題的高質量Python代碼,成為一名高階的Python程序員。
本書適合所有已經開始使用Python的技術人員,包括初級開發人員和已經升級到Python 3.6版本以上的經驗豐富的Python程序員。
作者簡介:
澤德·A. 肖(Zed A.Shaw) 是《「笨辦法」學Python(第3版)》《「笨辦法」學Python 3》《「笨辦法」學Ruby(第3版)》《「笨辦法」學C語言》等多本備受歡迎的技術書的作者,他的書在全世界有數百萬讀者。他還是諸多開源項目的創建者,擁有近20年的編程和寫作經驗。他大部分空閑時間致力於繪畫和藝術史的研究。
㈦ 笨方法學python練習EX41問題、報錯,自助非常感謝, 1個小時我都找不到。。
參數問題,後面需要加「english」;下面的代碼就是告訴你要用 english 這個參數皆在 .py 後面。
iflen(sys.argv)==2andsys.argv[1]=="english":
PHRASE_FIRST=True
首先,這不是一個題目啊,這就是 Show,展示給你看 Python 是如何實現英文到代碼的過程,比如下面這個例子,英文表達的很明確了吧,就是一個 Cannon 類,有構造函數,你想知道 Cannon 的 Python 代碼,就輸入Cannon,就得到 ANSWER。所以整個就是個學習的意思,不是讓你解題啊。
㈧ 《笨方法學Python》第四版 41題 168行代碼看不懂
ROOMS={'death':death,'central_corridor':central_corridor,'laser_weapon_armory':laser_weapon_armory,'the_bridge':the_bridge,'escape_pod':escape_pod}
defrunner(map,start):#定義一個函數,參數是map和start,對比最後一行運行時理解,map是一個元素為函數的字典,start是字元串『central_corridor'
next=start#定義next變數為字元串』central_corridor;
whileTrue:#無限循環
room=map[next]#map[next]即為ROOMS['central_corridor『],這是一個函數central_corridor,賦值給room
print'
-------'#可以觀察運行該.py文件時,每次切換房間都會有這個提示
next=room()#結合上節課內容,這段代碼要倒著理解,room()表示運行函數即central_corridor(),注意!!結果是字元串『death'或者』laser_weapen_armory',並賦值給next。
runner(ROOMS,'central_corridor')
老實說,這個函數我想了大概1個小時才明白,不知道有沒有理解錯誤