关于Python中if、for、with、list、dict的练习题
生活随笔
收集整理的這篇文章主要介紹了
关于Python中if、for、with、list、dict的练习题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.用戶輸入一個數字,判斷一個數字是否為一個水仙花數,水仙花數是一個三位數,三位數的每一位三次方的和還等于這個數,那么這個數就是一個水仙花數
#eg:1^3+5^3+3^3=153 number=input("please input number:") if number.isdecimal():if len(number)==3:x1=int(number[0])x2=int(number[1])x3=int(number[2])if x1**3+x2**3+x3**3==int(number):print("其為水仙花數")else:print("不是水仙花數")else:print("數字不正確") else:print("請輸入三位數合法數字")2.將list=[“周大蘇打”,“周對手的防守”,“馬虎他”,“周星星”]中首字母是周字的刪除
list=["周大蘇打","周對手的防守","馬虎他","周星星"] #這里有坑,因為在列表的刪除過程中,刪除一個元素其他會前移,會出現問題,所以采用倒敘刪除 for i in range(len(list)-1,-1,-1):if list[i][0]=="周":list.pop(i) print(list)3.車牌分塊區分,現給出車牌,根據車牌的信息,分析的各省車牌持有量
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:725638078 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' cars=["魯A2444","魯B1233","京B8989M","黑C49678","黑C46555","滬B25041"] locals={"滬":"上海","黑":"黑龍江","魯":"山東","鄂":"湖北","湘":"湖南","京":"北京"} #車牌分塊區分,現給出車牌,根據車牌的信息,分析的各省車牌持有量 countlist={} for i in cars:if locals[i[0]] not in countlist:countlist[locals[i[0]]]=1else:countlist[locals[i[0]]]=countlist[locals[i[0]]]+1 print(countlist) ---------------------------------------------------------- #升級版 countlist={} for i in car:countlist[locals[i[0]]]=countlist.get(locals[i[0]],0)+1 print(countlist)4.通過文件形式將txt格式的商品價格,商品數量,商品名字以列表嵌套字符串的形式表現
dic={} list1=[] with open ("a.txt",encoding="utf-8",mode="r") as f1:for line in f1:line=line.strip("\n").split(" ")dic["name"]=line[0]dic["price"] = line[1]dic["count"] = line[2]list1.append(dic) print(list1)5.需求:
- 頁面顯示序號+商品名稱+商品價格
- 用戶如果輸入選擇的商品序號,然后打印商品名稱及商品價格
- 如果用戶輸入的商品序號有誤,則提示輸入有誤,并重新輸入
- 用戶輸入Q,或者q,退出程序
6.dict={“name”:“zhu”,“time”:“fdsf”,.}
判斷dict中“name"值是否在字典中
dict={"name":"zhu","time":"fdsf"} print("name" in dict.keys())7.循環提示用戶,并將輸入內容追加到列表中(如果輸入N或n則停止循環)
list=[] while 1:username=input("請輸入用戶名:")if username.upper()=="Q":breakelse:password=input("輸入密碼:")dic={}dic["name"]=usernamedic["password"]=passwordlist.append(dic) print(list)8.需求:
(1.讀出下列程序結果
v1={"k1":"v1","k2":[1,2,3]} v2={"k1":"v1","k2":[1,2,3]} result=v1==v2 result1=v1 is v2 print(result,result1) #結果True False因為不論是同代碼的緩存機制還是小數據池緩存機制都只只用于bool int str三種數據類型
(2.讀出下列的程序結果
v1="dfsfsf" v2=[1,2,4,v1] v1="fsfdfsfsdfs" print(v2) #結果[1, 2, 4, 'dfsfsf']原因解釋是這里是字符串,不可以變得數據結構,然后在V1賦值的時候相當于開辟了一個新的數值地址,因為不可變還是V2還是指向了v1運來值的地址
(3.讀出下列的程序結果
list=[] dict={} for i in range(10):dict["user"]=ilist.append(dict) print(list) #結果[{'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}] list=[] for i in range(10):dict = {}dict["user"]=ilist.append(dict) print(list) #結果[{'user': 0}, {'user': 1}, {'user': 2}, {'user': 3}, {'user': 4}, {'user': 5}, {'user': 6}, {'user': 7}, {'user': 8}, {'user': 9}]解釋,前面因為最后一步對字典進行了更改,后面因為每次添加的列表都是一個新的字典,所以數字不是重復的
9.設定一個理想的數字比如88,讓用戶輸入數字,如果比88大,則顯示猜測的結果大;如果比66小,則顯示猜測的結果小了,給用戶三次猜測機會,如果顯示猜測正確退出循環,如果沒有猜測正確,則自動退出循環,顯示“你太蠢了”
number=88 count=0 while count<3:inputnumber=int(input("請輸入數字:"))if inputnumber>number:print("結果大了")elif inputnumber<number:print("結果小了")else:print("恭喜你猜對了")breakcount+=1 else:print("你太蠢了")10.求1-2+3-4+5…99的和
count=1 s=0 while count<100:if count%2==0:s=s-countelse:s=s+countcount+=1 print(s)11.寫一個登錄認證腳本,包括用戶名,密碼,驗證碼,如果輸入三次失敗,系統退出,輸入正確顯示登錄成功。
count=0 while count<3:username=input("please input your username:")password=input("please input your password:")code="abcd"your_code=input("please input your code:")if your_code==code:if username=="xiaoming"and password=="123":print("success!")breakelse:print("your uesename or password is error!")count=count+1else:print("your code is error!!")count+=1 exit("You've logged in three times")12.輸出1~100所有數字
#方法一比較傻瓜式 count=0 flag=True while flag:if count==100:flag=Falseelse:count=count+1print(count) #方法二 number=0 while number<100:number=number+1pint(number)13.輸出1~100中的所有偶數:%
count=2 while True:print(count)count=count+2if count==102:break結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者
總結
以上是生活随笔為你收集整理的关于Python中if、for、with、list、dict的练习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4道关于Python函数的练习题
- 下一篇: Python常用模块之time模块