一、轉換
s = "alex"
s_list = list(s)
print(s_list)
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")轉換成列表
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)
二、元素分類
有以下值集合[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)
三、輸出商品列表,用戶輸入序號,顯示用戶選中的商品
商品 li = ["手機", "電腦", '鼠標墊', '遊艇']
#!/usr/bin/env python
# -*- coding:utf-8 -*-
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":
break
else:
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
四、用戶交互顯示相似省市縣N級聯動的選擇
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 輸入省份、城市、縣序號
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 = True
elif 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 = True
elif 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 = True
elif 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 = True
else:
print("您輸入的縣序號不存在")
print()
else:
print("您輸入的縣序號不存在")
print()
continue
else:
print("您輸入的城市序號不存在")
print()
continue
else:
print("您輸入的城市序號不存在")
print()
continue
else:
print("您輸入的省份序號不存在")
print()
else:
print("您輸入的省份序號不存在")
print()
continue
五、列舉布爾值是False的全部值
bool(0) bool(None) bool("") bool(()) bool([]) bool({})
六、有兩個列表
l1 = [11,22,33]
l2 = [22,33,44]
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = [11,22,33]
l2 = [22,33,44]
s1 = set(l1)
s2 = set(l2)
s3 = s1 & s2
l3 = list(s3)
print(l3)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = [11,22,33]
l2 = [22,33,44]
s1 = set(l1)
s2 = set(l2)
s3 = s1 - s2
l3 = list(s3)
print(l3)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = [11,22,33]
l2 = [22,33,44]
s1 = set(l1)
s2 = set(l2)
s3 = s2 - s1
l3 = list(s3)
print(l3)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
l1 = [11,22,33]
l2 = [22,33,44]
s1 = set(l1)
s2 = set(l2)
s3 = s2 ^ s1
l3 = list(s3)
print(l3)
七、利用For循環和range輸出
#!/usr/bin/env python
# -*- coding:utf-8 -*-
for i in range(1,101):
print(i)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
for i in range(100,0,-1):
print(i)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
n = 1
while n <= 100:
print(n)
n += 1
#!/usr/bin/env python
# -*- coding:utf-8 -*-
n = 100
while n >= 1:
print(n)
n -= 1
八、利用for循環和range輸出9 * 9乘法表
#!/usr/bin/env python
# -*- coding:utf-8 -*-
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(第一位數字)遍歷一遍時換行
九、判斷一個數是否爲素數。(編程題)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素數又稱爲質數,它指的是隻能被1和它自己整除的整數。其中,1不是素數,任什麼時候候都不用考慮1。
while True:
flag = True # 設置一個標誌位,flag = True表明是素數,flag = Flase表明非素數
n = int(input("請輸入一個數字:"))
if n < 2: # 0、1以及負數都不是素數
flag = False
else:
for i in range(2,n): # 除以比它小的全部數(不包括1和它自己),看它是否還有其餘因數
# print(i)
if n % i == 0:
# print("%d能整除%d" %(n,i))
flag = False # 出現一次餘數爲0就表明能夠除盡,即表明這個數爲素數,就能夠設置flag = False
break # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)
if flag == True:
print("%d,是素數" %(n))
else:
print("%d,非素數" %(n))
10.輸出100之內的全部素數。(編程題)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素數又稱爲質數,它指的是隻能被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 = False
break # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)
if flag == True:
L.append(n) # 當flag = True時表明n爲素數,追加到素數列表中
print("100之內的全部素數:",L)
十一、求100之內的素數和。(編程題)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 素數又稱爲質數,它指的是隻能被1和它自己整除的整數。其中,1不是素數,任什麼時候候都不用考慮1。
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 = False
break # 只要第一次出現flag = False,就不用繼續往下循環,直接退出整個循環(第二層)
if flag == True:
s += n # 當flag = True時表明n爲素數,此時和以前的素數之和相加獲得最新的素數之和
print("100之內的素數和爲:",s)
十二、將[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-9
if 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-9
for j in range(i+1,len(li)): # j的範圍1-10
if li[i] > li[j]: # 相鄰的兩個數比較
li[i],li[j] = li[j],li[i]
print(li)