12

——淺copy的補(bǔ)充內(nèi)容——

淺copy的意思就是說,第二個(gè)列表的每個(gè)元素是第一個(gè)列表的每個(gè)元素的一個(gè)引用而已。

總結(jié)一下淺copy的三種方法:

①用copy模塊中的copy函數(shù),即copy.copy(x)。

②完全切片,即列表名[ : ]纺棺。

③利用工廠函數(shù)list函數(shù)

我們來實(shí)踐一下:

那么淺copy到底有什么用呢邪狞?

淺copy可以用來創(chuàng)建聯(lián)合賬號(hào)祷蝌。

舉個(gè)例子:我們現(xiàn)在有這樣一個(gè)模板,person=["names",["saving",100]]帆卓,然后通過淺copy可以復(fù)制兩個(gè)列表person1和person2巨朦,假設(shè)這個(gè)模板是一個(gè)夫妻共同創(chuàng)建的銀行聯(lián)合賬號(hào),我們通過修改列表person1和person2中的第0個(gè)元素剑令,可以將這兩個(gè)列表歸為兩人各自所屬賬號(hào)罪郊,即person1的持有人為“張三”,person2的持有人為“李四”尚洽,但是你想一下悔橄,比如張三從賬上取了30元之后,李四會(huì)同樣收到短信賬上減少30元腺毫,也就是說癣疟,這個(gè)賬號(hào)存款的數(shù)目變化是一致的,即修改列表的第1個(gè)元素中的第一個(gè)元素時(shí)潮酒,person1和person2兩個(gè)賬號(hào)要發(fā)生同樣的變化睛挚,在這里就用到了淺copy的性質(zhì),修改第一層的時(shí)候是互不影響的急黎,但是修改第二層的時(shí)候是發(fā)生相同變化的扎狱。

——元組——

元組是不能增刪改,只能查和切片的列表勃教。

元組其實(shí)跟列表差不多淤击,也是存一組數(shù),只不是它一旦創(chuàng)建故源,便不能再修改污抬,所以又叫只讀列表

語(yǔ)法:names=("anqila","daji","diaochan","wangzhaojun")? ?注意:元組是單括號(hào)绳军。

元組只有2個(gè)方法印机,一個(gè)是count,一個(gè)是index矢腻。

——購(gòu)物車程序——

需求:

1.啟動(dòng)程序后,讓用戶輸入工資射赛,然后打印商品列表多柑;

2.允許用戶根據(jù)商品編號(hào)購(gòu)買商品;

3.用戶選擇商品后楣责,檢測(cè)余額是否夠顷蟆,夠就直接扣款,不夠就提醒腐魂;

4.可隨時(shí)退出,退出時(shí)逐纬,打印已購(gòu)買的商品和余額蛔屹。

接下來我們就一步步來實(shí)現(xiàn)這個(gè)程序:

首先我們要存儲(chǔ)這些商品信息,商品列表是動(dòng)態(tài)的豁生,不是固定不變的兔毒,所以要存儲(chǔ)這些商品信息,考慮選擇用列表進(jìn)行存儲(chǔ)甸箱,而非字符串等等育叁。商品的信息包括商品名稱和商品的價(jià)格,所以列表里面要再進(jìn)行嵌套列表芍殖。

接下來豪嗽,就是輸入你的工資,工資只在啟動(dòng)程序后輸入一次豌骏,并不是每次循環(huán)都要輸入工資龟梦,所以輸入工資的語(yǔ)句應(yīng)該放在循環(huán)外面。這里注意一個(gè)問題窃躲,你輸入的工資默認(rèn)為字符串的格式计贰,如果你輸入的為數(shù)字,例如3000等蒂窒,進(jìn)行強(qiáng)制轉(zhuǎn)換為整型躁倒,沒有任何問題;但是如果你輸入的為類似“hdui”這樣的字符串洒琢,如果強(qiáng)制進(jìn)行類型轉(zhuǎn)換秧秉,轉(zhuǎn)換為整型,則會(huì)報(bào)錯(cuò)衰抑。解決辦法是福贞,在這里作一個(gè)判斷,如果你輸入的為數(shù)字停士,才會(huì)轉(zhuǎn)換為整型挖帘,用if salary.isdigit():完丽,這個(gè)語(yǔ)句的意思是,雖然默認(rèn)你輸入的為字符串格式拇舀,但是如果你輸入的為數(shù)字的類型逻族,則這個(gè)if語(yǔ)句就判斷為真,這時(shí)候再進(jìn)行類型轉(zhuǎn)換操作骄崩,salary=int(salary)聘鳞。

輸入工資之后就要進(jìn)入循環(huán),打印商品列表要拂,那么怎么打印商品列表呢抠璃?我們可以考慮用for循環(huán)打印商品列表

但是這樣存在的一個(gè)問題是,沒有商品的編號(hào)脱惰,怎樣才能加上商品的編號(hào)呢搏嗡?我們想到用輸出商品的下標(biāo)的方式作為商品編號(hào),將商品的下標(biāo)和商品的信息同時(shí)進(jìn)行打永弧:

除此之外采盒,還有一種方法是這樣的:

enumerate是枚舉的意思,對(duì)一個(gè)列表進(jìn)行枚舉蔚润,會(huì)輸出(下標(biāo)磅氨,列表內(nèi)容)這樣的一組元組。如下圖:

打印了商品列表之后嫡纠,接下來的一步是烦租,用戶根據(jù)商品編號(hào)選擇商品。這里就要分情況討論了:①用戶輸入的是數(shù)字除盏,接下來判斷是否可以購(gòu)買所選定的商品左权;②用戶輸入的是"Q",則退出循環(huán)痴颊,打印所選的商品和余額赏迟;③用戶輸入的是其他的字符串,這時(shí)候就要顯示 “非法輸入”蠢棱。

接下來锌杀,我們?cè)敿?xì)說明第一種情況,即用戶輸入的是數(shù)字的情況:

首先還是要先進(jìn)行一個(gè)判斷泻仙,判斷輸入的字符串是否為數(shù)字的類型糕再,若是,則強(qiáng)制轉(zhuǎn)換為整型玉转。轉(zhuǎn)換為整型之后突想,要再進(jìn)行一個(gè)判斷,這個(gè)判斷所做的工作是,判斷這個(gè)數(shù)字是否在商品編號(hào)的范圍內(nèi)猾担,有可能輸入的是商品編號(hào)范圍以外的數(shù)字袭灯,若是這種情況,就要顯示“沒有找到您所選的商品”绑嘹。若是商品編號(hào)范圍內(nèi)的數(shù)字稽荧,這時(shí)候就要進(jìn)行價(jià)格的比較,首先你要獲取到商品編號(hào)所指定商品的價(jià)格工腋,然后這個(gè)價(jià)格跟你的工資進(jìn)行比較姨丈,此時(shí)又分為兩種情況:一種是買的起,此時(shí)就要將你的工資進(jìn)行扣除擅腰,并且顯示“已將某某商品加入購(gòu)物車”蟋恬,另一種情況是買不起,此時(shí)就要顯示“您的余額已不足”趁冈。這部分的程序如下:

說明幾點(diǎn):①在判斷所輸入的數(shù)字是否在商品編號(hào)范圍內(nèi)是歼争,最好不要寫xxx<8類似的寫成是數(shù)字,這樣就寫死了箱歧,后期不好進(jìn)行修改,最好是獲取到這個(gè)列表的長(zhǎng)度一膨,然后什么什么小于列表長(zhǎng)度呀邢,獲取列表長(zhǎng)度的方法:len()。②買得起的情況下豹绪,要把所買的商品信息加入到所購(gòu)買的商品列表里价淌,所以要建一個(gè)空列表來存所購(gòu)買的商品,這個(gè)空列表要建在程序一開始的時(shí)候瞒津,不能建在循環(huán)內(nèi)蝉衣。

下面我們來說當(dāng)輸入為"Q"時(shí)的情況:

在這種情況下,只需要打印輸出所購(gòu)買的商品和余額即可巷蚪,然后退出病毡,退出的方法為:exit()。

最后一種情況就是屁柏,當(dāng)你輸入的是其他字符串時(shí)啦膜,只需要顯示“非法輸入”即可。

最后完整的程序?yàn)椋?/p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淌喻,一起剝皮案震驚了整個(gè)濱河市僧家,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裸删,老刑警劉巖八拱,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡肌稻,警方通過查閱死者的電腦和手機(jī)清蚀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灯萍,“玉大人轧铁,你說我怎么就攤上這事〉┟蓿” “怎么了齿风?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)绑洛。 經(jīng)常有香客問我救斑,道長(zhǎng),這世上最難降的妖魔是什么真屯? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任脸候,我火速辦了婚禮,結(jié)果婚禮上绑蔫,老公的妹妹穿的比我還像新娘运沦。我一直安慰自己,他們只是感情好配深,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布携添。 她就那樣靜靜地躺著,像睡著了一般篓叶。 火紅的嫁衣襯著肌膚如雪烈掠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天缸托,我揣著相機(jī)與錄音左敌,去河邊找鬼。 笑死俐镐,一個(gè)胖子當(dāng)著我的面吹牛矫限,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佩抹,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼奇唤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了匹摇?” 一聲冷哼從身側(cè)響起咬扇,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎廊勃,沒想到半個(gè)月后懈贺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體经窖,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年梭灿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了画侣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡堡妒,死狀恐怖配乱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皮迟,我是刑警寧澤搬泥,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站伏尼,受9級(jí)特大地震影響忿檩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜爆阶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一燥透、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辨图,春花似錦班套、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至忧勿,卻和暖如春杉女,著一層夾襖步出監(jiān)牢的瞬間瞻讽,已是汗流浹背鸳吸。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留速勇,地道東北人晌砾。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烦磁,于是被迫代替她去往敵國(guó)和親养匈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 考慮了很久都伪,最終決定分享一下前段時(shí)間差點(diǎn)“死去”的經(jīng)歷呕乎。 事情是這樣的,大概前段時(shí)間陨晶,我和我一個(gè)在政府機(jī)關(guān)干的很牛...
    小空進(jìn)入沉默模式閱讀 315評(píng)論 0 1
  • 野訓(xùn)營(yíng)的故事 一猬仁,野訓(xùn)營(yíng)之夜 (一) 開學(xué)后帝璧,學(xué)校將小動(dòng)物們送到野訓(xùn)營(yíng)進(jìn)行訓(xùn)練。 野外生存訓(xùn)練營(yíng)營(yíng)地建在動(dòng)物王國(guó)的...
    戎梁閱讀 608評(píng)論 0 2
  • 今天是我來清區(qū)的第二年湿刽,馬上可以升發(fā)型師了的烁,可是我好胖,看了簡(jiǎn)書上很多牛人減肥成功的經(jīng)歷诈闺,我決定今天作為我再一次減...
    愛心小星星閱讀 204評(píng)論 0 0
  • ◆2017年02月27日 星期一 ◆2017年02月28日 星期二 ◆2017年03月01日 星期三 ◆2017年...
    我是湯師爺閱讀 214評(píng)論 0 1