日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

关于Python中if、for、with、list、dict的练习题

發布時間:2025/3/20 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于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,退出程序
server = [{"name": "服務器1", "price": 10000},{"name": "服務器2", "price": 10500},{"name": "服務器3", "price": 10700},{"name": "服務器4", "price": 10800}, ] while True:for index,dic in enumerate(server):print(index,dic["name"],dic["price"])number=input("請輸入商品序號:").strip()if number.isdecimal():number=int(number)if 0<number<len(server):print(server[number-1]["name"],server[number-1]["price"])else:print("你輸入的超出了范圍")elif number.upper()=="Q": breakelse:print("你輸入的為非法字典")

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的练习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。