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

歡迎訪問 生活随笔!

生活随笔

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

python

12道Python基础字符编码数据类型练习题

發布時間:2025/3/20 python 9 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12道Python基础字符编码数据类型练习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、轉換

  • 將字符串s = "alex"轉換成列表
s = "alex" s_list = list(s) print(s_list)
  • 將字符串s = "alex"轉換成元祖
s = "alex" s_tuple = tuple(s) print(s_tuple)
  • 將列表li = [“alex”, “seven”]轉換成元組
li = ["alex", "seven"] li_tuple = tuple(li) print(li_tuple)
  • 將元祖tu = (‘Alex’, “seven”)轉換成列表
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' tu = ('Alex', "seven") tu_list = list(tu) print(tu_list)
  • 將列表li = [“alex”, “seven”]轉換成字典且字典的key按照10開始向后遞增
li = ["alex", "seven"] li_dic = {} for k,v in enumerate(li,10):li_dic[k] = v print(li_dic)

2、元素分類

有如下值集合[11,22,33,44,55,66,77,88,99,90],將所有大于66的值保存至字典的第一個key中,將小于66的值保存至第二個key的值中。

即:{‘k1’:大于66的所有值, ‘k2’:小于66的所有值}

li = [11,22,33,44,55,66,77,88,99,90] li1 = [] li2 = [] for i in li :if i < 66:li1.append(i)elif i > 66:li2.append(i)else:pass dic = {"k1": li1,"k2": li2} print(dic)

3、輸出商品列表,用戶輸入序號,顯示用戶選中的商品

商品 li = [“手機”, “電腦”, ‘鼠標墊’, ‘游艇’]

  • 允許用戶添加商品
  • 用戶輸入序號顯示內容
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' li = ["手機", "電腦", '鼠標墊', '游艇']while True:print("商品信息".center(28, "-"))for index,goods in enumerate(li,1):print("%s. %s" % (index, goods))add_choice = input("\n是否添加商品(yes/no):")if add_choice == "yes" or add_choice == "y":add_goods = input("\n請輸入需要添加的商品:")li.append(add_goods)elif add_choice == "no" or add_choice == "n":breakelse:print("\n輸入錯誤,請重新輸入\n")continue while True:goods_choice = input("\n請輸入需要查看的商品序號,輸入非數字退出本程序:")if goods_choice.isdigit():goods_choice = int(goods_choice)if goods_choice >= 1 and goods_choice <= len(li):print("\n",li[goods_choice-1])else:print("\n商品序號錯誤,請重新輸入\n")else:break

4、用戶交互顯示類似省市縣N級聯動的選擇

  • 允許用戶增加內容
  • 允許用戶選擇查看某一個級別內容
# 輸入省份、城市、縣序號China = {'河南省': {'焦作市': ['武陟', '溫縣', '博愛'],'鄭州市': ['新鄭', '滎陽', '中牟'],'開封市': ['蘭考', '尉氏', '杞縣'],},'廣東省': {'廣州市': ['越秀', '荔灣', '番禺'],'深圳市': ['福田', '羅湖', '龍崗'],'東莞市': ['莞城', '南城', '東城'],}, }exit_flag = False while not exit_flag: # 第1層循環province_list = [] # 定義一個省份列表city_list = [] # 定義一個城市列表print("\33[31;1m---------------------------------\33[1m")print(" \33[31;1m歡迎您來到中國\33[1m ")print("\33[31;1m---------------------------------\33[1m")for index,Province in enumerate(China,1):print("%s. %s" % (index,Province))province_list.append(Province) # 添加所有省份到省份列表中print()choice_province = input("一.請輸入您要前往的省份序號 (輸入q退出,輸入b返回上級,輸入i自定義):")print()if choice_province == "q" or choice_province == "Q":exit_flag = Trueelif choice_province == "b" or choice_province == "B":continue # 跳出第1層循環的剩下語句,繼續進行下一次循環(選擇省份)elif choice_province == "i" or choice_province == "I":print("\33[32;1m自定義信息\33[1m".center(40, "-"))province = input("省份名稱:")if China.get(province) == None:China[province] = {} # 增加的省份對應的鍵值是一個空字典city = input("城市名稱:")if China[province].get(city) == None:China[province][city] = [] # 增加的城市對應的鍵值是一個空列表county = input("縣名稱:")China[province][city].append(county) # 增加的縣是列表中的一個元素print()print("您的自定義信息已經存儲成功,請重新進行選擇")print()elif choice_province.isdigit():choice_province = int(choice_province)if choice_province >= 1 and choice_province <= len(province_list):while not exit_flag: # 第2層循環for index,City in enumerate(China[province_list[choice_province-1]],1):print("%s. %s" % (index,City))city_list.append(City) # 添加所有城市到城市列表中print()choice_city = input("二.請輸入您要前往的城市序號 (輸入q退出,輸入b返回上級):")print()if choice_city == "q" or choice_city == "Q":exit_flag = Trueelif choice_city == "b" or choice_city == "B":break # 跳出整個第2層循環,重新進行第1層循環(選擇省份)elif choice_city.isdigit():choice_city = int(choice_city)if choice_city >=1 and choice_city <= len(city_list):while not exit_flag: # 第3層循環for index,County in enumerate(China[province_list[choice_province-1]][city_list[choice_city-1]],1):print("%s. %s" % (index, County))print()choice_county = input("三.請輸入您要前往的縣序號 (輸入q退出,輸入b返回上級):")print()if choice_county == "q" or choice_county == "Q":exit_flag = Trueelif choice_county == "b" or choice_county == "b":break # 跳出整個第3層循環,重新進行第2層循環(選擇城市)elif choice_county.isdigit():choice_county = int(choice_county)county_list = China[province_list[choice_province - 1]][city_list[choice_city - 1]] # 縣列表if choice_county >= 1 and choice_county <= len(county_list):print("---------------------------------")print("您現在的位置是:", province_list[choice_province-1],city_list[choice_city-1],county_list[choice_county-1])print("---------------------------------")exit_flag = Trueelse:print("您輸入的縣序號不存在")print()else:print("您輸入的縣序號不存在")print()continueelse:print("您輸入的城市序號不存在")print()continueelse:print("您輸入的城市序號不存在")print()continueelse:print("您輸入的省份序號不存在")print()else:print("您輸入的省份序號不存在")print()continue

5、列舉布爾值是False的所有值

bool(0) bool(None) bool("") bool(()) bool([]) bool({})

6、有兩個列表

l1 = [11,22,33] l2 = [22,33,44]
  • 獲取內容相同的元素列表
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' l1 = [11,22,33] l2 = [22,33,44]s1 = set(l1) s2 = set(l2) s3 = s1 & s2l3 = list(s3)print(l3)
  • 獲取l1中有,l2中沒有的元素列表
l1 = [11,22,33] l2 = [22,33,44]s1 = set(l1) s2 = set(l2) s3 = s1 - s2l3 = list(s3)print(l3)
  • 獲取l2中有,l3中沒有的元素列表
l1 = [11,22,33] l2 = [22,33,44]s1 = set(l1) s2 = set(l2) s3 = s2 - s1l3 = list(s3)print(l3)
  • 獲取l1和l2中內容都不同的元素
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' l1 = [11,22,33] l2 = [22,33,44]s1 = set(l1) s2 = set(l2) s3 = s2 ^ s1l3 = list(s3)print(l3)

7、利用For循環和range輸出

  • For循環從小到大輸出1 - 100
for i in range(1,101):print(i)
  • For循環從大到小輸出100 - 1
for i in range(100,0,-1):print(i)
  • While循環從小到大輸出1 - 100
n = 1 while n <= 100:print(n)n += 1
  • While循環從大到小輸出100 - 1
n = 100 while n >= 1:print(n)n -= 1

8、利用for循環和range輸出9 * 9乘法表

for i in range(1,10):for j in range(1,i+1):print("%d*%d=%2d" % (j,i,i*j),end=" ") # 每次輸出不換行(默認print會換行),第二位數字是固定的,所以最外層循環的i代表第二位print (" ") # 當j(第一位數字)遍歷一遍時換行

9、判斷一個數是否為素數。(編程題)

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' while True:flag = True # 設置一個標志位,flag = True代表是素數,flag = Flase代表非素數n = int(input("請輸入一個數字:"))if n < 2: # 0、1以及負數都不是素數flag = Falseelse:for i in range(2,n): # 除以比它小的所有數(不包括1和它本身),看它是否還有其他因數# print(i)if n % i == 0:# print("%d能整除%d" %(n,i))flag = False # 出現一次余數為0就代表可以除盡,即代表這個數為素數,就可以設置flag = Falsebreak # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)if flag == True:print("%d,是素數" %(n))else:print("%d,非素數" %(n))

10.輸出100以內的所有素數。(編程題)

素數又稱為質數,它指的是只能被1和它本身整除的整數。其中,1不是素數,任何時候都不用考慮1。

L = [] # 定義一個初始的素數列表 for n in range(2,101): # 循環100以內的素數n,從2開始,0、1不是素數flag = True # 設置一個標志位,flag = True代表是素數,flag = Flase代表不是素數for i in range(2,n): # 除以比它小的所有數(不包括1和它本身),看它是否還有其他因數if n % i == 0:flag = False # 出現一次余數為0就代表可以除盡,即代表這個數為素數,就可以設置flag = Falsebreak # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)if flag == True:L.append(n) # 當flag = True時代表n為素數,追加到素數列表中 print("100以內的所有素數:",L)

11、求100以內的素數和。(編程題)

素數又稱為質數,它指的是只能被1和它本身整除的整數。其中,1不是素數,任何時候都不用考慮1。

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' s = 0 # 設置一個素數初始和為0 for n in range(2,101): # 循環100以內的素數n,從2開始,0、1不是素數flag = True # 設置一個標志位,flag = True代表是素數,flag = Flase代表不是素數for i in range(2,n): # 除以比它小的所有數(不包括1和它本身),看它是否還有其他因數if n % i == 0:flag = False # 出現一次余數為0就代表可以除盡,即代表這個數為素數,就可以設置flag = Falsebreak # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)if flag == True:s += n # 當flag = True時代表n為素數,此時和之前的素數之和相加得到最新的素數之和 print("100以內的素數和為:",s)

12、將[1,3,2,7,6,23,41,24,33,85,56]從小到大排序(冒泡法)(編程)

li = [1,3,2,7,6,23,41,24,33,85,56]for i in range(len(li)-1): # i的范圍0-9if li[i] > li[i+1]: # 相鄰的兩個數比較li[i],li[i+1] = li[i+1],li[i] print(li)li = [1,3,2,7,6,23,41,24,33,85,56]for i in range(len(li)-1): # i的范圍0-9for j in range(i+1,len(li)): # j的范圍1-10if li[i] > li[j]: # 相鄰的兩個數比較li[i],li[j] = li[j],li[i] print(li)

總結

以上是生活随笔為你收集整理的12道Python基础字符编码数据类型练习题的全部內容,希望文章能夠幫你解決所遇到的問題。

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