1. 程式人生 > >python學習--小練習題(二)

python學習--小練習題(二)

階段性總結2

201802231.求0—7所能組成的奇數個數。程式分析:組成1位數是4個。組成2位數是7*4個。組成3位數是7*8*4個。組成4位數是7*8*8*4個。......try: number = int(raw_input("please input a number 1~7:"))except: print "error occur"if number ==1: print "4"else: print eval((str(4)+"*"+str(7)+"*"+"*".join([str(8)]*(number-2))).strip("*"))
2.某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。try: number = raw_input("please input 4 numbers :")except: print "error occur"newnum=[]for i in number: j = (int(i)+5)%10 newnum.append(j)print newnumnewnum[0],newnum[3]=newnum[3],newnum[0]newnum[1],newnum[2]=newnum[2],newnum[1] print newnum3.計算一個四乘四矩陣的所有元素的和,以及對角線之和a =[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],]sum=0sum2=0for i in a: for j in i: sum=sum+jprint "sum",sumfor i in range(0,len(a)): sum2+=a[i][i]print "sum2",sum2201802241.輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列。listnum=[]while 1: try: num = raw_input("please input a num:") if num.strip() =='stop': break else: listnum.append(num) except: print "input error occur"print listnummaxnum = max(listnum)minnum = min(listnum)maxindex = listnum.index(maxnum)minindex = listnum.index(minnum)listnum[0],listnum[maxindex]=listnum[maxindex],listnum[0]listnum[-1],listnum[minindex]=listnum[minindex],listnum[-1]print listnum2.有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數listnum =[1,2,3,4,5,6]m =2lastnum=listnum[-m:]print lastnumfrontnum = listnum[0:-m]print frontnumprint lastnum+frontnum3:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。程式分析:學會分解出每一位數。num=raw_input("please input a number")if len(num)>5: print "len num is too long"else: print len(num) print num[::-1]4.請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。weekday={"m":"monday","tu":"tuesday","w":"wensday","th":"thursday","f":"friday","sa":"saturday","su":"sunday"}input_letter=raw_input("please input a day")if weekday.has_key(input_letter): print weekday[input_letter]else: input_second=raw_input("please input a day second letter") inputall =input_letter+input_second if weekday.has_key(input_letter): print weekday[inputall] else: print "you input wrong"5.輸入一行字元,判斷有多少數字,多少字母,多少空格,多少其他字元inputstr=raw_input("please input a sentence")letter_num=0digit_num=0space_num=0other_num=0for i in inputstr: if i.isalpha(): letter_num+=1 elif i.isdigit(): digit_num+=1 elif i.isspace(): space_num+=1 else: other_num+=1 print u"共有字母:",letter_numprint u"共有數字:",digit_numprint u"共有空格:",space_numprint u"共有其他字元:",other_numprint u"共有字母:",letter_numprint u"共有數字:",digit_numprint u"共有空格:",space_numprint u"共有其他字元:",other_num6.輸入a, n result = a+aa+aaaa = raw_input("please input a")n= int(raw_input("please input n"))print "+".join([a*i for i in range(1,n+1)]) 方法2:a=int(raw_input("input a value:"))times=int(raw_input("input count times:"))sum=ab=afor i in range(times-1):    sum=a*10+a%10+sum    a=a*10+a201802251.有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。num=[1,2,3,4]result=[]for i in num: for j in num: for z in num: if i!=j and i!=z and j!=z: newnum=str(i)+str(j)+str(z) result.append(newnum)print result2.題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。x,y,z = raw_input("please input 3 nums:a,b,c").split(",")if x>y: x,y=y,xif x>z: x,z=z,xif y>z: y,z=z,yprint x,y,z3.做個抽獎程式,可以輸入一個人的名字和抽獎號,然後隨機抽取存在的抽獎號,程式可以指定抽取次數,抽取後顯示抽獎號和名字,全部抽取完成後輸出抽獎的總結果import random#輸入一個抽獎池~~~~peopledict={}while 1: try: name,num = raw_input("please input name and num,split,").split(",") peopledict[num]=name except: breakprint peopledict#抽獎結果resultdict={}#請輸入抽獎次數try: num = int(raw_input("please input num:"))except: print "input error"#進行抽獎啦啦啦while num>0: result = random.choice(peopledict.keys()) resultdict[result]=peopledict[result] #防止一個噁心的人被連續中獎兩次!!! del peopledict[result] num-=1print resultdict.values()4.將一個句子中的所有數字和標點符號刪除掉s="i am a gitl 123,@#$"result=''for i in s: if i in [1,2,3,4,5,6,7,8,9,",","!","."]: continue else: result+=iprint result2018.2.261.有一個長度是101的陣列,存在1~100的數字,有一個是重複的,拿重複的找出來import randoma=range(100)random_num = random.randint(0,99)a.insert(random_num,random_num)print random_numnumber = [i for i in a if a.count(i)==2]print number[0]---------------------------------------------------------------------------------------------------------------------------2.2個長度相同的list,一個裡面的做字典的key,另一個做value,請寫個函式實現a=[1,"2",[3,4],(5,6),{7:8}]b=[0,1,2,3]d={}for i in range(len(a)): if not isinstance(a[i],(int,float,complex,long,str,unicode,tuple)): continue else: d[a[i]]=b[i]print d---------------------------------------------------------------------------------------------------------------------------a=[1,"2",[3,4],(5,6),{7:8}]b=[0,1,2,3]d={}for i in range(len(a)):    if not isinstance(a[i],(int,float,complex,long,str,unicode,tuple)):        continue    else:        d[a[i]]=b[0]        del b[0]print d3.統計一個字串中每個字母累積出現的字母個數統計一個字串中每一個字母一共累計出現的次數。思路:"aabbaabbccddee"  a4  b4 c2遍歷:沒有記過數,則值為1,記過數+1k,vd.has_key----------------------------------------------------------------------------------------------#coding=utf-8a="aabbaabbccddee"dict={}for i in a: if dict.has_key(i): dict[i]+=1 else: dict[i]=1print dict201802271.有一個長度為101的陣列,存在1-100的數字,有一個是重複的,把重複的找出來import randomlistnum=[]for i in range(0,101): listnum.append(i)#print listnuma =random.randint(1,100)listnum.append(a)result =[i for i in listnum if listnum.count(i)==2]print result[0]2.2個長度相同的list,一個裡面的作字典的key,另一個做value,請寫個函式實現a=["a","b","c",1,(3,4)]b=[1,2,3,4,5]dictnum={}for i in range(len(a)): if not isinstance(a[i],(int,float,complex,long,str,unicode,tuple)): continue else: dictnum[a[i]]=b[i]print dictnum3.將一個多重巢狀的列表的元素進行互換,存到另一個同等維度的巢狀列表中,例如:[[1,2,3],[4,5,6]]互換後變成[[1,4],[2,5],[3,6]]a=[[1,2,3],[4,5,6]]print [[j[i] for j in a] for i in range(3)]

相關推薦

python學習--練習題

階段性總結2201802231.求0—7所能組成的奇數個數。程式分析:組成1位數是4個。組成2位數是7*4個。組成3位數是7*8*4個。組成4位數是7*8*8*4個。......try: number = int(raw_input("please input a numbe

Python爬蟲白---爬蟲基礎--Selenium PhantomJS

decode bject windows beautiful 結構 由於 target header 速度 一、前言    前段時間嘗試爬取了網易雲音樂的歌曲,這次打算爬取QQ音樂的歌曲信息。網易雲音樂歌曲列表是通過iframe展示的,可以借助Selenium獲

python學習之路 -- 函數、JSON、終端樣式

blog ade def 數量 通過 等於 name tuple args 函數 函數構成 定義函數:使用def即可 def __getName(idCard): return user_info[idCard].Name 其中,__get

Python 學習之路

在外 封裝 過程 數列 == 3.6 開頭 res form Python 學習之路(二) 以下所用的是Python 3.6 一、條件語句 簡單判斷 1 if 判斷條件: 2 執行語句…… 3 else: 4 執行語句…… 復雜判斷 1 if 判斷

Python學習記錄——Ubuntu用戶和用戶組

root用戶 -s spa 登陸 gpo 用戶名 執行權 添加 ubun 1.etc文件作用: (1) /etc/passwd 用戶賬戶信息。 (2)/etc/shadow 安全用戶賬戶信息。 (3)/etc/group 組賬戶信息。 (4)/etc/gshadow 安全組

python學習之旅

Python基礎知識(1) 一、變數 變數名可以由字母、數字、下劃線任意組合而成。 注意:1.變數名不能以數字開頭;            2.變數名不能為關鍵字;           &n

記錄我的Python學習之旅time庫的基本操作

1、time() 功能:獲取當前時間戳,即計算機內部時間值,浮點數  2、ctime() 功能:獲取當前時間並以易讀方式表示,返回字串 3、gmtime() 功能:獲取當前實踐,表示為計算機可處理的時間格式  4、時間格式化:如t=time.gmtime()  

springboot學習筆記---springboot工作機制

Spring Boot工作機制簡介 一、@SpringBootApplication 我們新建一個springboot專案裡面會有一個SpringbootDay1203Application類 我們都知道@SpringBootApplication是Springboot專案的核心註

python 學習資料結構雙向連結串列

##一、相比單向連結串列,雙向連結串列的優勢 雙向連結串列的每個節點儲存了前一個節點和後一個節點的引用(指標),到達某個節點是,可以向前或者向後遍歷,提高了操作的效率。比如,insertBefore(nodeA, value) 操作,可以一步完成,而不需要先查詢

Python爬蟲白——爬蟲基礎——Selenium PhantomJS

前段時間嘗試爬取了網易雲音樂的歌曲,這次打算爬取QQ音樂的歌曲資訊。網易雲音樂歌曲列表是通過iframe展示的,可以藉助Selenium獲取到iframe的頁面元素, 而QQ音樂採用的是非同步載入的方式,套路不一樣,這是主流的頁面載入方式,爬取有點難度,不過也是對自己的一個挑戰。 二、Pyt

王亟亟的Python學習之路-專案建立以及要點提及

首先,說一下上一篇為什麼雖說我們是從3.X開始說起,那就要說明下2個版本的區別(上下版本幾乎沒關係) Python的3​​.0版本,常被稱為Python 3000,或簡稱Py3k。相對於Python的早期版本,這是一個較大的升級。 為了不帶入過多的累贅,

機器學習實戰 建立決策樹

目錄 一、決策樹簡介 決策樹既可以分類,也可以迴歸。構造決策樹兩種方式:預剪枝/後剪枝 難點:如何構造決策樹,選什麼特徵作為結點。 特點:根節點是分類效果最好的,其餘次之、再次之。 決策樹停止劃分結點的原因可能是:達到最大葉子節點數了、葉子結點樣本數

Python學習之路

神奇的陣列1、陣列值插入    陣列值插入有三種方式,分別為append()、extend()和insert()。    append():在最後新增一個值,一次只能新增一個。    extend() :在最後新增值,但可以一次新增多個值。    insert()   :在指

python學習筆記 day44 mysql 練習題

1. 練習題二題目來自於:http://www.cnblogs.com/wangfengming/articles/7889786.html   這部分的習題 大致看了一下,沒有實際建立表來做,這裡選幾個比較有代表性的題大致說一下思路: 表的資訊如下: 24. 刪除工資重複的人員,保留年

python學習之函數學習進階

python學習之函數進階二一、內置函數 zip函數: zip()是Python的一個內建函數,它接受一系列可叠代的對象作為參數,將對象中對應的 元素按順序組合成一個tuple,每個tuple中包含的是原有序列中對應序號位置的元素,然後返回由 這些tuples組成的list。若傳入參數的長度不等,則返回li

白的linux學習之旅

探索linux一、linux系統結構linux是一個倒樹結構linux中所有的東西都是文件這些文件都在系統頂級目錄“/” /就是根目錄/目錄以下為二級目錄這些目錄都是系統裝機時系統自動建立的二級目錄的作用/bin 二進制可執行文件也就是系統命令/sbin

Python練習題基礎知識練習題

strip() 哪些 字符 單行註釋 alt imp exe 列表 表格形式 1.執行Python腳本的兩種方式 (1).交互方式:啟動python解釋器,執行命令 (2).腳本方式:Python xxx.py 或者 chmod +x && ./xxx.p

Python練習題

python練習題# 1.字符串最後一個單詞的長度 題目描述:計算字符串最後一個單詞的長度,單詞以空格隔開。 輸入描述: 一行字符串,非空,長度小於5000。輸出描述: 整數N,最後一個單詞的長度。示例1: 輸入:hello world 輸出:5# 2. 計算字符個數題目描述: 寫出一個程序,接受

Python學習之路 爬蟲

版權 特殊 機器人 zhang col 取出 log arch robots 通用爬蟲和聚焦爬蟲 根據使用場景,網絡爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種. 通用爬蟲 通用網絡爬蟲 是 捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分。主要目

強的Hadoop學習之路

com TE 區別 截斷 用戶 分開 路徑問題 登陸用戶 學習 接著第一遍。中間間隔了大約半年的時間了,話不多說,直接進入主題。 這篇是主要是應用篇。目前的環境是4臺機器 ,環境 centos 7.2 CDH5.10.2 網上很多安裝教程,這邊就不說明了。 Hive+